Form auf den Desktop "kleben" wie ein Desktop Widget
-
Hi,
gibt es da eine Möglichkeit für o.g. Anforderung?
Mit SendToBack funktionierts zwar, allerdings wird das Fenster z.B. bei WindowsTaste-D ebenfalls minimiert. Das Ereignis abzufangen und das Fenster dann wieder manuell hervorholen funktioniert zwar, sieht aber unschön aus, weil die Verzögerung zu lange ist.
Das Programm soll einmal ein Desktop Widget werden. Wie könnte man das sonst realisieren?
Gruß
Martin
-
bring up mad_martin's post
-
überschreib die funktion die deine form in den hintergrund setzt bzw. minimiert.
-
Per WinAPI kann man das realisieren, indem man die `SetParent`-Funktion verwendet. Ungetestetes Codeschnipsel ohne Deklaration:
SetParent(MyForm.Handle, GetDesktopWindow());
Anschließend muss man aber noch den Fensterstil der Form anpassen. Ich weiß nicht mehr genau, welcher Stil das war, sollte sich aber über Spy++ rausbekommen lassen. Den Stil kann man mit `SetWindowLong`, `GetWindowLong` und der Konstanten `GWL_STYLE` setzen.
-
Danke für die Infos. Wenn ich eine Lösung habe, wird die hier nochmal gepostet.