Entwickler-Ecke

Windows API - Kein Minimieren in Taskleiste?


digi_c - Di 12.08.03 10:07
Titel: Kein Minimieren in Taskleiste?
Hallo ich habe aus dem EDH den Code übernommen um ein Anzeigen des Fensters in der Taskleiste zu verhindern (da ich ein Trayicon hab). Wenn ich jetzt aber mein Fenster minimiere ists immernoch sichtbar (klein ganz links unten wie bei einem MDIChild Fenster). Gibt es da ne bessere Lösung :?:
Danke schonma fürs lesen!


Delete - Di 12.08.03 10:22

Wenn du den Code aus dem EDH übernommen hast (welchen eigentlich? Link bitte), dann dürfte das von dir beschriebene Problem normalerweise nicht auftreten.

Den Effekt, den du beschreibst, kenne ich eigentlich nur, wenn man das Application.Restore nach dem "Aktivieren" der Anwendung aus der TNA heraus vergessen hat. In dem Fall wurde das Programm bei zweiten Mal nicht mehr minimiert, sondern (wie gesagt) unten als kleine Titelleiste angezeigt.


recall - Mi 13.08.03 00:29

Nur mal so: Ist das bewusste Fenster vielleicht NICHT das Hauptformular ?

Viele Grüsse.


digi_c - Di 19.08.03 13:24

Doch ist das Hauptformular, mit restore? ich habe immer mit Show/hide glaube ich gearbeitet, aber das erscheint ja auch gleich wenn ich das erste Mal auf minimieren klicke :?


Thunder00 - Sa 06.09.03 14:22

Moin,

Das brauchste eigentlich net alles.

Den

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowWindow( Application.Handle, SW_HIDE );
  SetWindowLong( Application.Handle, GWL_EXSTYLE,
                 GetWindowLong(Application.Handle, GWL_EXSTYLE) or
                 WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
  ShowWindow( Application.Handle, SW_SHOW );
end;


kannste soweit runterkürzen:

Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowWindow( Application.Handle, SW_HIDE );
end;


probiers ma.


Delete - Sa 06.09.03 14:36

Rat mal, wozu das SetWindowLong gut ist und was der Stil WS_EX_TOOLWINDOW wohl bewirkt. :?