English
Opportunities and suggestions

Proposals for future versions

Drag&Drop

 
- Page 1 -



H.Brill
there one without Drag&Drop in the PC-working day almost not
More auskommt, ought to this too in XProfan (X3)
absolutely integrate go. Sowohl inside the own
Profanfenster + Controls (Listboxes etc.)as well as of Fremdprogrammen gedragte Files etc.

at least 3 Formate wären me there important :
Texts, Files and Images.

Perhaps can Roland there Yes what einsteiger or. User-
freundliches basteln. with the suitable API-
functions and the CallBack-functions of XProfan
might something like machbar his.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
11/16/15  
 



 
- Page 1 -



ByteAttack
Yes - this is one älterer Code me. Have it now none adjusted.
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
11/17/15  
 




H.Brill
now must I only yet achieve, that one under
too The position correct can. one meets Yes
not always same in that black.

means another Drag&Drop inside the Rasters.

so You understand, I my :
about whom effect, How at windows Solitärspiel.
If one The ticket under anhängt, rastet The
under one, if is a etwaige Postion
access has.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
11/17/15  
 




Jörg
Sellmeyer
For this might then Between(....) the right candidate his. If you The Coordinates for your Raster have (in a aray or Grid), can you then with Between to check on, in welchem Raster You landest.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
11/17/15  
 



 
- Page 2 -



ByteAttack
where it thereby one "Problemchen" gives, there one only The Mouse-Coordinates back get and not the from the ImageListe. depending on where one now the Icon "anpackt" is it different...
Have there unfortunately (NOCH) no Solution
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
11/17/15  
 




Michael
W.
not in Points, separate in Kachelgröße think...

pieces everything in Squares one and work then with Intersect(). so could one then too Zielrähmchen settle.

Hierhin??, or Hierhin??? ...
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
11/17/15  
 




H.Brill
thanks,
first must I then time the move (Move) within
the Rasters hinbekommen.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
11/18/15  
 




ByteAttack
so. in the Beispielcode have I it now so "gedeichselt", that if to the Icon "anfässt", the Cursor simply into middle the Icons hüpft.
CompileMarkSeparation
USERMESSAGES 16
 $H windows.ph
 $H Commctrl.ph
 $H Messages.ph
'################ Globale variables
var Bild&=create("HPIC", 0, "TOOLBAR32")
var IcoList& = create("ImageList",32,32,Bild&,rgb(192,192,192))
var AnzIcon%=73
var Zeilengrenze%=5
Declare EndeY%,IstNeuX%,px%,py%,Temp$,MX%,MY%,GI%,area#,be#,erg&,erg2&,x&,y&,Text$,b#,xneu&,ClientRect#
Dim be#,8
Dim b#,16
Dim area#,1024
Dim ClientRect#,16

Proc UpdateWindow

    Case width(%hwnd,1)<800:SetWindowPos %hwnd=%WinLeft,%WinTop-800,height(%hwnd,1);0
    Case height(%hwnd,1)<600:SetWindowPos %hwnd=%WinLeft,%WinTop-width(%hwnd,1),600;0
    TB_AufBau

ENDPROC

'################################################################################################################# Toolbar set up

Proc TB_AufBau

    Declare WL%
    ClearList GB&
    USEP 0,1,~GetSysColor(15)
    UseBrush 1,~GetSysColor(15)
    Rectangle 0,0-%maxX,42
    USEP 0,1,~GetSysColor(22)
    Line 0,42-%maxX,42
    var AnzProZeile%=width(%hwnd)/39

    if AnzIcon%<AnzProZeile%

        WL%=AnzIcon%

    else

        WL%=AnzProZeile%

    endif

    var IcoX%=3
    var IcoIdx%=0

    WhileLoop WL%

        DrawIcon IcoList&,IcoIdx%,IcoX%,4
        AddStrings(GB&,Str $(IcoX%)+"|"+"4"+"|"+Str $(IcoIdx%))
        IcoX%=IcoX%+39
        Inc IcoIdx%

    EndWhile

ENDPROC

Proc DragDrop

    While %mousepressed'--Mouse button becomes held

        ~ImageList_DragMove(%mousex,%mousey)

    EndWhile

ENDPROC

Proc MausMove' setting whom Cursor always on The middle the Icons

    ~GetCursorPos(be#)
    x&=Long(be#,0)
    y&=Long(be#,4)
    ~GetWindowRect(dummy&,b#)
    xneu&= Long(b #,0)+((GI%+1)*39)-19
    ~SetCursorPos(xneu&,Long(b #,4)+20)

ENDPROC

Proc DrawRaster

    Parameters Rasterweite%,Rasterfarbe%
    var rx%=Rasterweite%
    var ry%=Rasterweite%+60

    WhileLoop 10' because of the speed only 10x and then as Bitmap WinXP?

        Whileloop 10

            SetPixel rx%,ry%,Rasterfarbe%
            rx%=rx%+Rasterweite%

        EndWhile

        rx%=Rasterweite%
        ry%=ry%+Rasterweite%

    EndWhile

    MCls Rasterweite%*10,Rasterweite%*10,BackGround%
    CopyBmpToMem Rasterweite%,Rasterweite%+60 - Rasterweite%*10,Rasterweite%*10 > 0,0
    rx%=Rasterweite%
    ry%=Rasterweite%+60

    WhileNot ry%>=%maxy

        WhileNot rx%>=%maxX

            MCopyBmp 0,0-Rasterweite%*10,Rasterweite%*10 > rx%,ry%;0
            rx%=rx%+Rasterweite%*10

        EndWhile

        rx%=Rasterweite%
        ry%=ry%+Rasterweite%*10

    EndWhile

ENDPROC

'###################### HAUPTFENSTER
Window Style 31
Window Title "Rastafari"
Window %maxX+5,5 - 800,600
var dummy&=Control("DIALOG","",$54000000,0,0,0,0,%hwnd,0,%hinstance)
var BackGround%=~GetSysColor(15)
Cls BackGround%
UseFont "Verdana",16,0,0,0,0
var font&=Create("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
var GB&=Create("Grid",3,0)
var GBNeu&=Create("Grid",3,0)
DrawRaster 8,RGB(0,0,0)
UpdateWindow
SetWindowPos %hwnd=((%maxX/2)-400),((%maxY/2)-300)-800,600;0
var xOff&=~GetSystemMetrics(32)'-------fat the Fensterrandes
var yOff&=~GetSystemMetrics(4)+xOff&'--Höhe the Titelleiste + Fensterrand
' ################ HAUPTSCHLEIFE
MausMove

WhileNot %Umessage=16

    WaitInput

    If %Key=4

        UpdateWindow

    EndIf

    WhileLoop 0, GetCount(GB&)-1

        Temp$=GetString$(GB&,&loop)
        MX%=val(SubStr$(Temp$,1,"|"))
        MY%=val(SubStr$(Temp$,2,"|"))

        if Mouse(MX%,MY%-MX%+32,MY%+32)

            GI%=val(SubStr$(Temp$,3,"|"))
            MausMove' must unfortunately so often :-(
            MausMove
            MausMove
            ~ImageList_BeginDrag(IcoList&,GI%,(%mousex-xOff&-MX%),(%mousey-yOff&-MY%))
            ~ImageList_DragEnter(%hwnd,%mousex,%mousey)
            DragDrop
            ~ImageList_EndDrag()
            UseCursor 0

        endif

    EndWhile

EndWhile

Dispose b#
Dispose be#
Dispose area#
Dispose ClientRect#
deleteobject IcoList&

1.506 kB
Bezeichnung:Beispiel exe
Hochgeladen:11/18/15
Downloadcounter116
Download
4 kB
Bezeichnung:Beispielcode
Hochgeladen:11/18/15
Downloadcounter141
Download
 
Website:  [...] 
Facebook:  [...] 
11/18/15  
 




ByteAttack
Jörg Sellmeyer (17.11.15)
For this might then Between(....) the right candidate his. If you The Coordinates for your Raster have (in a aray or Grid), can you then with Between to check on, in welchem Raster You landest.


the would already one Mega-aray.... with one Raster could to the too simply to charge...
CompileMarkSeparation
USERMESSAGES 16
 $H windows.ph
 $H Commctrl.ph
 $H Messages.ph
'################ Globale variables
var Bild&=create("HPIC", 0, "TOOLBAR32")
var IcoList& = create("ImageList",32,32,Bild&,rgb(192,192,192))
var AnzIcon%=73
var Zeilengrenze%=5
Declare EndeY%,IstNeuX%,px%,py%,Temp$,MX%,MY%,GI%,area#,be#,erg&,erg2&,x&,y&,Text$,b#,xneu&,ClientRect#,GlobalRaster%
Dim be#,8
Dim b#,16
Dim area#,1024
Dim ClientRect#,16
var report%=1' 0=Nicht on the Raster report | 1=Am Raster report

Proc UpdateWindow

    Case width(%hwnd,1)<800:SetWindowPos %hwnd=%WinLeft,%WinTop-800,height(%hwnd,1);0
    Case height(%hwnd,1)<600:SetWindowPos %hwnd=%WinLeft,%WinTop-width(%hwnd,1),600;0
    TB_AufBau

ENDPROC

'################################################################################################################# Toolbar set up

Proc TB_AufBau

    Declare WL%
    ClearList GB&
    USEP 0,1,~GetSysColor(15)
    UseBrush 1,~GetSysColor(15)
    Rectangle 0,0-%maxX,42
    USEP 0,1,~GetSysColor(22)
    Line 0,42-%maxX,42
    var AnzProZeile%=width(%hwnd)/39

    if AnzIcon%<AnzProZeile%

        WL%=AnzIcon%

    else

        WL%=AnzProZeile%

    endif

    var IcoX%=3
    var IcoIdx%=0

    WhileLoop WL%

        DrawIcon IcoList&,IcoIdx%,IcoX%,4
        AddStrings(GB&,Str $(IcoX%)+"|"+"4"+"|"+Str $(IcoIdx%))
        IcoX%=IcoX%+39
        Inc IcoIdx%

    EndWhile

ENDPROC

Proc Einrasten

    Declare DrawX%,DrawY%

    if report%=0

        DrawIcon IcoList&,GI%,%MouseX-16,%MouseY-16
        Return 0

    else

        DrawX%=((%MouseX-16)/GlobalRaster%)
        DrawX%=DrawX%*GlobalRaster%
        DrawY%=((%MouseY-16)/GlobalRaster%)
        DrawY%=DrawY%*GlobalRaster%
        DrawIcon IcoList&,GI%,DrawX%,DrawY%

    endif

ENDPROC

Proc DragDrop

    While %mousepressed'--Mouse button becomes held

        ~ImageList_DragMove(%mousex,%mousey)

    EndWhile

ENDPROC

Proc MausMove' setting whom Cursor always on The middle the Icons

    ~GetCursorPos(be#)
    x&=Long(be#,0)
    y&=Long(be#,4)
    ~GetWindowRect(dummy&,b#)
    xneu&= Long(b #,0)+((GI%+1)*39)-19
    ~SetCursorPos(xneu&,Long(b #,4)+20)

ENDPROC

Proc DrawRaster

    Parameters Rasterweite%,Rasterfarbe%
    GlobalRaster%=Rasterweite%
    var rx%=Rasterweite%
    var ry%=Rasterweite%+60

    WhileLoop 10' because of the speed only 10x and then as Bitmap WinXP?

        Whileloop 10

            SetPixel rx%,ry%,Rasterfarbe%
            rx%=rx%+Rasterweite%

        EndWhile

        rx%=Rasterweite%
        ry%=ry%+Rasterweite%

    EndWhile

    MCls Rasterweite%*10,Rasterweite%*10,BackGround%
    CopyBmpToMem Rasterweite%,Rasterweite%+60 - Rasterweite%*10,Rasterweite%*10 > 0,0
    rx%=Rasterweite%
    ry%=Rasterweite%+60

    WhileNot ry%>=%maxy

        WhileNot rx%>=%maxX

            MCopyBmp 0,0-Rasterweite%*10,Rasterweite%*10 > rx%,ry%;0
            rx%=rx%+Rasterweite%*10

        EndWhile

        rx%=Rasterweite%
        ry%=ry%+Rasterweite%*10

    EndWhile

ENDPROC

'###################### HAUPTFENSTER
Window Style 31
Window Title "Rasterfari"
Window %maxX+5,5 - 800,600
var dummy&=Control("DIALOG","",$54000000,0,0,0,0,%hwnd,0,%hinstance)
var BackGround%=~GetSysColor(15)
Cls BackGround%
UseFont "Verdana",16,0,0,0,0
var font&=Create("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
var GB&=Create("Grid",3,0)
var GBNeu&=Create("Grid",3,0)
DrawRaster 20,RGB(0,0,0)
UpdateWindow
SetWindowPos %hwnd=((%maxX/2)-400),((%maxY/2)-300)-800,600;0
var xOff&=~GetSystemMetrics(32)'-------fat the Fensterrandes
var yOff&=~GetSystemMetrics(4)+xOff&'--Höhe the Titelleiste + Fensterrand
' ################ HAUPTSCHLEIFE
MausMove

WhileNot %Umessage=16

    WaitInput

    If %Key=4

        UpdateWindow

    EndIf

    WhileLoop 0, GetCount(GB&)-1

        Temp$=GetString$(GB&,&loop)
        MX%=val(SubStr$(Temp$,1,"|"))
        MY%=val(SubStr$(Temp$,2,"|"))

        if Mouse(MX%,MY%-MX%+32,MY%+32)

            GI%=val(SubStr$(Temp$,3,"|"))
            MausMove
            MausMove
            MausMove
            ~ImageList_BeginDrag(IcoList&,GI%,(%mousex-xOff&-MX%),(%mousey-yOff&-MY%))
            ~ImageList_DragEnter(%hwnd,%mousex,%mousey)
            DragDrop
            ~ImageList_EndDrag()
            UseCursor 0
            Einrasten' not To confuse with Ausrasten

        endif

    EndWhile

EndWhile

Dispose b#
Dispose be#
Dispose area#
Dispose ClientRect#
deleteobject IcoList&

1.506 kB
Hochgeladen:11/18/15
Downloadcounter112
Download
 
Website:  [...] 
Facebook:  [...] 
11/18/15  
 




Jörg
Sellmeyer
well Yes - usually has one Yes a designed Zielbereich and not whom whole screen. and self the would with one 16-Pixel-Raster self in 1900 dissolution loosly in a aray to house.
Letztendlich can it sure too to charge or The values simply in a list box unterbringen.

i'd whom Cursor sooner into left upper corner settle, then has one The corner the Icons to that Zielen.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
11/19/15  
 




H.Brill
Yes, the works in the Raster now already rather.
now I will only yet The Symbols in the Raster
move can.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
11/19/15  
 




ByteAttack
Jörg Sellmeyer (19.11.15)
well Yes - usually has one Yes a designed Zielbereich and not whom whole screen. and self the would with one 16-Pixel-Raster self in 1900 dissolution loosly in a aray to house.
Letztendlich can it sure too to charge or The values simply in a list box unterbringen.


Can too in a given area to charge...
i'd only one aray using, where The Icons debarked are.

Jörg Sellmeyer (19.11.15)
i'd whom Cursor sooner into left upper corner settle, then has one The corner the Icons to that Zielen.


simply in
CompileMarkSeparation
Proc MausMove

    xneu&= Long(b #,0)+((GI%+1)*39)-35
    ~SetCursorPos(xneu&,Long(b #,4)+4)

The values change and under
CompileMarkSeparation
Proc Einrasten

    DrawIcon IcoList&,GI%,%MouseX,%MouseY
    ...
    DrawX%=((%MouseX)/GlobalRaster%)
    DrawY%=((%MouseY)/GlobalRaster%)

any -16 Remove

H.Brill (19.11.15)
Yes, the works in the Raster now already rather.
now I will only yet The Symbols in the Raster
move can.


a little bit must too yourself make...
I Have the whole Yes only as example prepares! I Have whom code extra simply zoned and not optimiert...
 
Website:  [...] 
Facebook:  [...] 
11/19/15  
 




H.Brill
thanks over again.
Have yet of what Uwe 'Pascal' Niemeier
found.
will be me time on the Wochende durchwursteln.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
11/19/15  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

14.712 Views

Untitledvor 0 min.
Gast.081501/27/25
Sven Bader03/31/23
funkheld12/12/22
Walter12/11/22
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie