| |
|
|
GDL | ¡Hola,
es posible, dass se una así erzeugtes Ventana
ofenster&=create(window,%hwnd,Oberflächengestaltung,0,0,%maxx,%maxy)
genauso verhält como una %hwnd,quasi una 2tes Ventana principal.
Servus Georg |
|
|
| |
|
|
|
Nico Madysa | Soweit Yo weiß, sí, como lo sí con Ventana de Estilo einstellen kannst. Nur el Systemvariablen como %WinLeft, %WinTop, %cyCaption trabajo en ofenster& natürlich no. |
|
|
| |
|
|
|
GDL | ¡Hola Nico,
Yo probierte ya fast todos Windowstyles, aber con nichts ir %mousekey, %mousex ,%mousey y el inc mouseouver de hier.
Servus Georg |
|
|
| |
|
|
|
Nico Madysa | Hä??? Das find Yo ahora überraschend, dass el Systemvaiablen sólo vom Ventana principal gesetzt voluntad. Jetzt es hier aber alguien una Erklärung schuldig! |
|
|
| |
|
|
|
| [quote:0e8477876a=GDL]¡Hola Nico,
Yo probierte ya fast todos Windowstyles, aber con nichts ir %mousekey, %mousex ,%mousey y el inc mouseouver de hier.
Servus Georg[/quote:0e8477876a] ¡Hola Georg...
Dafür gibts el APIs GetCursorPos y ScreenToClient.
Saludo
Andreas |
|
|
| |
|
|
|
GDL | ¡Hola Andreas,
Yo bekomme lo en una Unterfenster no hin. Auf %hwnd klappts aber einwandfrei. KompilierenMarcaSeparaciónDef PtInRect(3) !"USER32","PtInRect"
Proc CheckMouse
Parameters hw&,x%,y%,lang&[onummer&],breit&[onummer&]
Dim rect#,16
Dim rectpt#,8
Long rect#,0=x%
Long rect#,4=y%
Long rect#,8=lang&[onummer&]
Long rect#,12=breit&[onummer&]
GetCursorPos(rectpt#)
ScreenToClient(hw&,rectpt#)
If Neq(PtInRect(rect#,Long(rectpt#,0),Long(rectpt#,4)),0)
result%=1
EndIf
Dispose rect#
Dispose rectpt#
ENDPROC
Servus Georg |
|
|
| |
|
|
|
| ¡Hola Georg...
...es todavía no bastante perfekt... KompilierenMarcaSeparaciónDef @GetCursorPos(1) !"USER32","GetCursorPos"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
Def @Ptinrect(3) !"USER32","PtInRect"
Def @WaitMessage(0) !"USER32","WaitMessage"
Declare Rect#,Rectpt#,Dialog&,Message#
Windowstyle 31
LET Dialog&=@CreateWindow(%Desktop,"Mausklick auf Dialog",30,30,300,300)
Usecursor 0
While %Menuitem<>-2
@WaitMessage()
Startpaint Dialog&
Rectangle 30,30-60,60
Endpaint
IF @Checkmouse(Dialog&,30,30,60,60)=1
IF %Message=514
@messagebox("Mit linker Maustaste ins schwarze getroffen!","Treffer!",64)
endif
endif
Usecursor 0
wend
Proc Checkmouse
Parameters Hw&,X%,Y%,Lang&,Breit&
Declare Result&
Dim Rect#,16
Dim Rectpt#,8
Long Rect#,0=X%
Long Rect#,4=Y%
Long Rect#,8=Lang&
Long Rect#,12=Breit&
@Getcursorpos(Rectpt#)
@Screentoclient(Hw&,Rectpt#)
LET Result&=@Ptinrect(Rect#,@long(Rectpt#,0),@long(Rectpt#,4))
Dispose Rect#
Dispose Rectpt#
Return Result&
ENDPROC
|
|
|
| |
|
|
|
GDL | @Andreasanke.
Aber erkläre me Por favor, por qué uno en una Diálogo con los waitinput no weiterkommt.Oder debería uno waitinput sólo en Ausnahmefällen nutzen?
Servus Georg |
|
|
| |
|
|
|
| [quote:10c8e47fce=GDL]Aber erkläre me Por favor, por qué uno en una Diálogo con los waitinput no weiterkommt.[/quote:10c8e47fce] ...a el mentira, qué Waitinput neben el Aufrufen el API MsgWaitForMultipleObjects todavía así alles tut - kann dir wohl sólo Roland beantworten.
Saludo
Andreas |
|
|
| |
|
|
|
GDL | @ Andreas,
klappt wunderbar para Einklickabfrage.Für ständige Abfrage nehm Yo como ya früher schonmal gehabt.
@Getasynckeystate(2)<>0.
Como @Getasynckeystate(2)<>0 con waitinput no va y yo auch Buttons abfragen möchte verwendete Yo
settimer 1 waitinput killtimer
Verstehe zwar no por qué lo entonces va, aber hauptsache lo va.
Servus Georg |
|
|
| |
|
|
|
Ralph Theobald | ¡Hola ,
kann me alguien erklären, como ihr rausgefunden habt, daß el Api Función PTINRECT drei Parámetro ha.
Thomas Hölzer ha en Prffellow ( Dlgcheckarea) una ähnlichen Code benutzt. In el Win32 y en el SDK es PTinRect con zwei Parametern: 1. Struktur : Rechteckkoordinaten Ventana 2. Struktur: Mauskoordinaten Oder Yo qué übersehen ?
Saludo Ralph |
|
|
| |
|
|
|
| |
|
| |
|
|