Wünsche y Sugerencias | | | | - Página 1 - |
| H.Brill | Como uno sin Drag&Drop en el PC-Alltag fast no mehr auskommt, debería dieses auch en XProfan (X3) necesariamente integriert voluntad. Sowohl innerhalb des eigenen Profanfenster + Controls (Listboxen usw.)como auch de Fremdprogrammen gedragte Archivos usw.
Zumindest 3 Formate wären me como wichtig : Textos, Archivos y Bilder.
Tal vez kann Roland como sí qué einsteiger o. User- freundliches remendar. Mit el entsprechenden API- Características y el CallBack-Características de XProfan dürfte algo como machbar ser. |
| | | 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. | 16.11.2015 ▲ |
| |
| | | | | - Página 1 - |
| ByteAttack | Sí - Es una älterer Code de me. tener ihn ahora nada adaptado.
|
| | | | |
| | H.Brill | Jetzt muß Yo sólo todavía erreichen, daß uno unten auch el Position korrigieren kann. Man trifft sí no siempre igual en el Schwarze.
Also todavía una Drag&Drop innerhalb des Rasters.
Damit du verstehst, Yo mi : Etwa el Effekt, como beim Windows Solitärspiel. Wenn uno el Karte unten anhängt, rastet el unten una, si uno una etwaige Postion erreicht ha. |
| | | 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. | 17.11.2015 ▲ |
| |
| | Jörg Sellmeyer | Dafür dürfte entonces Between(....) el richtige Kandidat ser. Wenn du el Koordinaten para dein Raster hast (en un Array oder Grid), kannst du entonces con Between überprüfen, en welchem Raster du landest. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.11.2015 ▲ |
| |
| | | | - Página 2 - |
| | ByteAttack | Wobei lo esta una "Problemchen" son, como uno sólo el Mauskoordinaten zurück bekommt y no el de el ImageListe. Je después de wo uno ahora el Icon "anpackt" es unterschiedlich... Hab como desafortunadamente (NOCH) no Solución |
| | | | |
| | Michael W. | No en Punkten, pero en Kachelgröße denken...
Teile alles en Quadrate una y arbeite entonces con Intersect(). Damit podría una continuación auch Zielrähmchen conjunto.
Hierhin??, oder Hierhin??? ... |
| | | XProfan X3System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 17.11.2015 ▲ |
| |
| | H.Brill | Gracias, zuerst muß Yo entonces veces el Verschieben (Move) innerhalb des 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. | 18.11.2015 ▲ |
| |
| | ByteAttack | So. Im Beispielcode Yo lo ahora así "gedeichselt", daß si al Icon "anfässt", el Cursor simplemente en el Mitte des Icons hüpft. KompilierenMarcaSeparaciónUSERMESSAGES 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
Declarar EndeY%,IstNeuX%,px%,py%,Temp$,MX%,MY%,GI%,bereich#,be#,erg&,erg2&,x&,y&,texto$,b#,xneu&,ClientRect#
Dim be#,8
Dim b#,16
Dim bereich#,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 aufbauen
Proc TB_AufBau
Declarar WL%
ClearList GB&
USEP 0,1,~GetSysColor(15)
UseBrush 1,~GetSysColor(15)
Rectángulo 0,0-%maxX,42
USEP 0,1,~GetSysColor(22)
Line 0,42-%maxX,42
var AnzProZeile%=width(%hwnd)/39
if AnzIcon%<AnzProZeile%
WL%=AnzIcon%
más
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
Mientras que %mousepressed'--Botón del ratón se mantenido
~ImageList_DragMove(%mousex,%mousey)
EndWhile
ENDPROC
Proc MausMove' Setzt el Mauszeiger siempre en el Mitte des Icons
~GetCursorPos(be#)
x&=Largo(be#,0)
y&=Largo(be#,4)
~GetWindowRect(dummy&,b#)
xneu&= Largo(b#,0)+((GI%+1)*39)-19
~SetCursorPos(xneu&,Largo(b#,4)+20)
ENDPROC
Proc DrawRaster
Parámetros Rasterweite%,Rasterfarbe%
var rx%=Rasterweite%
var ry%=Rasterweite%+60
WhileLoop 10' Wegen el Geschwindigkeit sólo 10x y luego como Mapa de bits en el Speicher
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
Sinestar encargado ry%>=%maxy
Sinestar encargado 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
Ventana de Estilo 31
Título de la ventana "Rastafari"
Ventana %maxX+5,5 - 800,600
var dummy&=Control("DIÁLOGO","",$54000000,0,0,0,0,%hwnd,0,%hInstance)
var BackGround%=~GetSysColor(15)
Cls BackGround%
UseFont "Verdana",16,0,0,0,0
var font&=Crear("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
var GB&=Crear("Grid",3,0)
var GBNeu&=Crear("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)'-------Dicke des Fensterrandes
var yOff&=~GetSystemMetrics(4)+xOff&'--Höhe el Titelleiste + Fensterrand
' ################ HAUPTSCHLEIFE
MausMove
Sinestar encargado %Umessage=16
WaitInput
If %Key=4
UpdateWindow
EndIf
WhileLoop 0, GetCount(GB&)-1
Temp$=GetString$(GB&,&bucle)
MX%=val(Substr$(Temp$,1,"|"))
MY%=val(Substr$(Temp$,2,"|"))
if Ratón(MX%,MY%-MX%+32,MY%+32)
GI%=val(Substr$(Temp$,3,"|"))
MausMove' muss desafortunadamente así oft :-(
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
Disponer b#
Disponer be#
Disponer bereich#
Disponer ClientRect#
deleteobject IcoList&
|
| | | | |
| | ByteAttack | Jörg Sellmeyer (17.11.15)
Dafür dürfte entonces Between(....) el richtige Kandidat ser. Wenn du el Koordinaten para dein Raster hast (en un Array oder Grid), kannst du entonces con Between überprüfen, en welchem Raster du landest.
Das wäre ya una Mega-Array.... En una Raster podría al auch simplemente berechnen... KompilierenMarcaSeparaciónUSERMESSAGES 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
Declarar EndeY%,IstNeuX%,px%,py%,Temp$,MX%,MY%,GI%,bereich#,be#,erg&,erg2&,x&,y&,texto$,b#,xneu&,ClientRect#,GlobalRaster%
Dim be#,8
Dim b#,16
Dim bereich#,1024
Dim ClientRect#,16
var Ausrichten%=1' 0=Nicht al Raster ausrichten | 1=Am Raster ausrichten
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 aufbauen
Proc TB_AufBau
Declarar WL%
ClearList GB&
USEP 0,1,~GetSysColor(15)
UseBrush 1,~GetSysColor(15)
Rectángulo 0,0-%maxX,42
USEP 0,1,~GetSysColor(22)
Line 0,42-%maxX,42
var AnzProZeile%=width(%hwnd)/39
if AnzIcon%<AnzProZeile%
WL%=AnzIcon%
más
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
Declarar DrawX%,DrawY%
if Ausrichten%=0
DrawIcon IcoList&,GI%,%MouseX-16,%MouseY-16
Volver 0
más
DrawX%=((%MouseX-16)/GlobalRaster%)
DrawX%=DrawX%*GlobalRaster%
DrawY%=((%MouseY-16)/GlobalRaster%)
DrawY%=DrawY%*GlobalRaster%
DrawIcon IcoList&,GI%,DrawX%,DrawY%
endif
ENDPROC
Proc DragDrop
Mientras que %mousepressed'--Botón del ratón se mantenido
~ImageList_DragMove(%mousex,%mousey)
EndWhile
ENDPROC
Proc MausMove' Setzt el Mauszeiger siempre en el Mitte des Icons
~GetCursorPos(be#)
x&=Largo(be#,0)
y&=Largo(be#,4)
~GetWindowRect(dummy&,b#)
xneu&= Largo(b#,0)+((GI%+1)*39)-19
~SetCursorPos(xneu&,Largo(b#,4)+20)
ENDPROC
Proc DrawRaster
Parámetros Rasterweite%,Rasterfarbe%
GlobalRaster%=Rasterweite%
var rx%=Rasterweite%
var ry%=Rasterweite%+60
WhileLoop 10' Wegen el Geschwindigkeit sólo 10x y luego como Mapa de bits en el Speicher
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
Sinestar encargado ry%>=%maxy
Sinestar encargado 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
Ventana de Estilo 31
Título de la ventana "Rasterfari"
Ventana %maxX+5,5 - 800,600
var dummy&=Control("DIÁLOGO","",$54000000,0,0,0,0,%hwnd,0,%hInstance)
var BackGround%=~GetSysColor(15)
Cls BackGround%
UseFont "Verdana",16,0,0,0,0
var font&=Crear("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
var GB&=Crear("Grid",3,0)
var GBNeu&=Crear("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)'-------Dicke des Fensterrandes
var yOff&=~GetSystemMetrics(4)+xOff&'--Höhe el Titelleiste + Fensterrand
' ################ HAUPTSCHLEIFE
MausMove
Sinestar encargado %Umessage=16
WaitInput
If %Key=4
UpdateWindow
EndIf
WhileLoop 0, GetCount(GB&)-1
Temp$=GetString$(GB&,&bucle)
MX%=val(Substr$(Temp$,1,"|"))
MY%=val(Substr$(Temp$,2,"|"))
if Ratón(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' No a verwechseln con Ausrasten
endif
EndWhile
EndWhile
Disponer b#
Disponer be#
Disponer bereich#
Disponer ClientRect#
deleteobject IcoList&
|
| | | | |
| | Jörg Sellmeyer | Na sí - meistens ha uno sí una cierto Zielbereich y no el ganzen Bildschirm. Und incluso el wäre en una 16-Pixel-Raster incluso en 1900 Auflösung locker en un Array unterzubringen. Letztendlich puede ser lo sicher auch berechnen o Werte simplemente en uno Listbox unterbringen.
Yo proporcionaría Cursor más en el linke obere Ecke conjunto, entonces ha uno el Ecke des Icons para Zielen. |
| | | | |
| | H.Brill | Sí, el klappt en el Raster ahora ya mejor. Jetzt voluntad Yo sólo todavía el Symbole en el Raster mover puede. |
| | | 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. | 19.11.2015 ▲ |
| |
| | ByteAttack | Jörg Sellmeyer (19.11.15)
Na sí - meistens ha uno sí una cierto Zielbereich y no el ganzen Bildschirm. Und incluso el wäre en una 16-Pixel-Raster incluso en 1900 Auflösung locker en un Array unterzubringen. Letztendlich puede ser lo sicher auch berechnen o Werte simplemente en uno Listbox unterbringen.
Kann uno auch en un determinado Zona berechnen... Yo sería sólo una Array benutzen, wo el Icons gelandet son.
Jörg Sellmeyer (19.11.15)
Yo proporcionaría Cursor más en el linke obere Ecke conjunto, entonces ha uno el Ecke des Icons para Zielen.
Einfach en KompilierenMarcaSeparación el Werte ändern y bajo KompilierenMarcaSeparación todos -16 entfernen
H.Brill (19.11.15)
Sí, el klappt en el Raster ahora ya mejor. Jetzt voluntad Yo sólo todavía el Symbole en el Raster mover puede.
Ein bisschen mußt auch selber hacer... Yo todos sí sólo como Ejemplo erstellt! Yo el código extra simplemente aufgeteilt y no optimiert... |
| | | | |
| | H.Brill | Gracias nochmals. Hab ahora todavía de lo que Uwe 'Pascal' Niemeier gefunden. Werde mich veces al 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. | 19.11.2015 ▲ |
| |
|
RespuestaTema opciones | 14.380 Views |
ThemeninformationenDieses Thema ha 4 subscriber: |