Opportunities and suggestions | | | | - 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.
 |
| | | | |
| |  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 |
| | | | |
| |  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 X3System: 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. CompileMarkSeparationUSERMESSAGES 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&
|
 | | | | |
| |  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... CompileMarkSeparationUSERMESSAGES 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&
|
 | | | | |
| |  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. |
| | | | |
| |  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 The values change and under CompileMarkSeparation 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... |
| | | | |
| |  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 ▲ |
| |
|
AnswerTopic-Options | 14.712 Views |
Themeninformationenthis Topic has 4 subscriber: |