Seite 1 von 1

Fenster langsam ein-/ausblenden

Verfasst: Fr, 23. Sep 2022 9:06
von ssemleit
Hallo,

ich suche eine Möglichkeit, wie ich ein Fenster (ganz normaer XbpDialog) langsam ein-/ausblenden kann.
Mir fehlt leider der fachliche Ausdruck dafür.
Als Beispiel kann ich die Ansicht des Projektmanagers und Code-Explorer in der Workbench nennen.
Wenn man die mit dem Pin nicht fixiert hat, dann fahren diese Fenster langsam rein/raus wenn man mit der Maus in den Bereich kommt/klickt.

Geht das mit Xbase++ Bordmitteln oder gibt es was auf Windows-API Ebene?

Grüße
Stefan

Re: Fenster langsam ein-/ausblenden

Verfasst: Fr, 23. Sep 2022 11:52
von AUGE_OHR
hi,

was du suchst ist die API Function AnimateWindow()

Code: Alles auswählen

DLLFUNCTION AnimateWindow(hwnd,dwTime,dwFlags) USING STDCALL FROM USER32.DLL
hier ein komplettest Demo mit Source welches DLLFUNCTION verwendet ( v1.9.355 und früher)
sollte kein Problem sein diese DLLFUNCTION auf v2,x umzustellen (Ergebniss bitte posten in diesem Thread )

Re: Fenster langsam ein-/ausblenden

Verfasst: Fr, 23. Sep 2022 12:25
von Marcus Herz

Code: Alles auswählen

EXTERN BOOL AnimateWindow(hwnd AS UINTEGER, dwTime AS UINTEGER, dwFlagsdwTime AS UINTEGER)	IN USER32.DLL
cool

Re: Fenster langsam ein-/ausblenden

Verfasst: Fr, 23. Sep 2022 13:10
von ssemleit
Hallo,

das ist wohl das, wonach ich gesucht habe 👍
Solwohl der Aufruf per DLLFUNCTION und per EXTERN funktioniert.
Ich werde damit etwas experimentieren.

Gruß, Danke und schönes WE

Stefan

Re: Fenster langsam ein-/ausblenden

Verfasst: Do, 23. Mär 2023 11:25
von ssemleit
Hallo,

das ein/ausblenden eines Dialogs bzw. Xbase-Parts klappt ja per AnimateWindow ganz gut.
Wie macht man das, wenn man ein Fenster automatisch schließen/verkleinern möchte,
wenn man sich mit der Maus aus dem Fenster bzw. Xbase-Part bewegt?
Per oXbp:captureMouse(TRUE), oXbp:motion und einen Timer?

Gruß
Stefan