| |
|
|
|
Beschreibung:
Die API SetWindowPos ändert die Position, Größe oder Anzeigereihenfolge eines Fensters.
Deklaration:
DEF SetWindowPosition(7) !USER32,SetWindowPos
Parameter:
1.Parameter: Handle des Fensters. 2.Parameter: Ein Handle des Fensters, das dem Fenster in der Anzeigehirachie vorausgeht, oder einer von folgenden Werten: -1 = Unterste Position im Kindfensterstapel. --2 = Unterste Position aller oben liegenden Fenster. -0 = Oberste Position im Kindfensterstapel. --1 = Oberste Position aller oben liegenden Fenster. 3.Parameter: Neue horizontale Position. 4.Parameter: Neue vorizontale Position. 5.Parameter: Neue Breite. 6.Parameter: Neue Höhe. 7.Parameter: Positionierungs Flags (können mit | addiert werden)=> -1 = Parameter 5 und 6 werden ignoriert, das Fenster ändert nicht die Größe. -2 = Parameter 3 und 4 werden ignoriert, das Fenster wird nicht verschoben. -4 = Parameter 2 wird ignoriert, die Anzeigehirachie ändert sich nicht. -8 = Nach dem Verschieben erfolgt kein Neuzeichnen. -$10 = Das Fenster wird nicht aktiviert. -$40 = Zeigt das Fenster an. -$80 = Versteckt das Fenster.
Rückgabewert:
1 bei Erfolg, 0 bei Fehler.
Beispiele:
KompilierenMarkierenSeparierenDEF SetWindowPosition(7) !"USER32","SetWindowPos"
Windowstyle 31
Windowtitle "Fenster im Vordergrund"
Window 0,0-640,400
DEclare HWND&,Vordergrund&,Hintergrund&
LET HWND&=%HWND
LET VORDERGRUND&=@Createbutton(%HWND,"Always on top",10,100,150,30)
LET Hintergrund&=@Createbutton(%HWND,"Not on TOP",10,150,150,30)
While @equ(0,0)
waitinput
IF @getfocus(VORDERGRUND&)
@SetWindowPosition(Fensterhandle,Fensterplatz=HWND_TOPMOST,X-Position,Y-Position,Breite,Höhe,Flags=SWP_NOMOVE+SWP_NOSIZE+SWP_SHOWWINDOW)
@SetWindowPosition(HWND&,-1,0,0,640,400,@add(2,@add(1,$40)))
ELSEIF @getfocus(Hintergrund&)
@SetWindowPosition(Fensterhandle,Fensterplatz=HWND_NOTOPMOST,X-Position,Y-Position,Breite,Höhe,Flags=SWP_NOMOVE+SWP_NOSIZE+SWP_SHOWWINDOW)
@SetWindowPosition(HWND&,-2,0,0,640,400,@add(2,@add(1,$40)))
endif
wend
|
|
|
| |
|
|