Hi,
Habe eine gute
und eine schlechte Nachricht:
Das Formular wird bei mir jetzt angezeigt. Dazu musst du folgendes tun:
Delphi-Quellcode:
var old: Cardinal;
begin
// Entweder
SetWindowPos(Form.Handle,0,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE or SWP_NOZORDER or SWP_SHOWWINDOW)
Form.ForceShow;
// Oder (schlechter, aber es funktioniert auch irgendwie)
Old := GetWindowLong(Form.Handle,GWL_STYLE);
SetWindowLong(Form.Handle,GWL_STYLE,old or WS_VISIBLE);
Form.ForceShow;
Form.BringToFront;
end;
Nachteil: Das Fenster lässt sich nicht schließen. Und nachdem man auf das X geklickt hat geht gar nix mehr. Bzw. die Controls auf der Form sind irgendwie unsichtbar/weg aber die Form selbst lässt sich nicht schließen.
Lösung:
SetWindowPos(Handle,0,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE or SWP_NOZORDER or SWP_HIDEWINDOW);
ins OnClose der Form schreiben.
Und jetzt will ich nen Keks
Edit: Hab nen Nachteil gefunden:
Das OnShow des Formulars wird nicht ausgeführt. Man sollte/muss es also manuell aufrufen, wenn mans braucht.
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."