Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Delphi Plugin - Form wird nicht angezeigt

  Alt 28. Aug 2008, 14:09
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."
  Mit Zitat antworten Zitat