| |
|
|
|
Beschreibung:
GetWindowRect ermittelt die Eckpunkte eines Fensters bezogen auf den Bildschirm.
Deklaration:
Def @GetWindowRect(2) !USER32, GetWindowRect
Parameter:
1.Parameter: Handle des Fensters, dessen Eckpunkte man herausbekommen will. 2.Parameter: RECT Struktur oder 16 Bytes große Bereichsvariable, die die Eckpunkte des Frensters aufnimmt.=> -Byte 0-3 = X-Koordinate der linken oberen Ecke des Fensters. -Byte 4-7 = Y-Koordinate der linken oberen Ecke des Fensters. -Byte 8-11 = X-Koordinate der rechten unteren Ecke des Fensters. -Byte 12-15 = Y-Koordinate der rechten unteren Ecke des Fensters.
Rückgabewert:
1 bei Erfolg, 0 bei Fehler.
Beispiele:
Def @GetWindowRect(2) !"USER32", "GetWindowRect"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
WindowTitle "Koordinaten"
Windowstyle 31+512
Window 0,0-640,440
Decimals 0
Declare b#,dlg&
LET dlg&=@Create("Window",%hwnd,"Testdialog",150,150,300,300)
Whilenot %MENUITEM=-2
GetMessage
Locate 1,1
Dim b#,16
@GetWindowRect(dlg&,b#)
print "Eckpunkte von Testdialog bezogen auf Bildschirm:",Long(b#,0),Long(b#,4),Long(b#,8),Long(b#,12);" "
@ScreenToClient(%hwnd,b#)
@ScreenToClient(%hwnd,b#+8)
print "Eckpunkte von Testdialog bezogen auf %hwnd:",Long(b#,0),Long(b#,4),Long(b#,8),Long(b#,12);" "
@GetWindowRect(dlg&,b#)
@ScreenToClient(dlg&,b#)
@ScreenToClient(dlg&,b# + 8)
Print ""
PRINT "Breite des Rahmens von Testdialog: "+@STR$(@ABS(Long(b#,0))/2)+" "
PRINT "Höhe der Titelzeile von Testdialog ohne Rahmen: "+@STR$(@ABS(Long(b#,4))-@ABS(Long(b#,0)))+" "
PRINT "Breite des Clientbereiches von Testdialog: "+@STR$(Long(b#,8))+" "
PRINT "Höhe des Clientbereiches von Testdialog: "+@STR$(Long(b#,12))+" "
Dispose b#
Wend
[keywords:c4c482003a] Eckpunkte Koordinaten Fenster X Y Breite Höhe Titelzeile festellen erfahren herausbekommen [/keywords:c4c482003a] |
|
|
| |
|
|