Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TNA Minimierungsproblem (https://www.delphipraxis.net/66438-tna-minimierungsproblem.html)

cruso 29. Mär 2006 17:28


TNA Minimierungsproblem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!

Ich habe eine TNA-Anwendung geschrieben und wenn ich nun ein bestimmtes Formular (in die Taskleiste) minimieren will, dann funktioniert das nicht, da es nicht in die Taskleiste geht sondern als "Minifenster" knapp darüber. Wie kann ich dafür sorgen, dass es doch in die Taskleiste geht?

Ich habe zum besseren Verständniss ein Bildschirmfoto angehängt.



MfG
Cruso

toms 29. Mär 2006 19:36

Re: TNA Minimierungsproblem
 
Hallo cruso,

Wie sieht denn dein Code aus, welcher dein Fenster ins Tray minimiert?
Im Prinzip muss du nur das Formular beim minimieren ins Tray verstecken.

cruso 30. Mär 2006 15:08

Re: TNA Minimierungsproblem
 
Zitat:

Zitat von toms
Hallo cruso,

Wie sieht denn dein Code aus, welcher dein Fenster ins Tray minimiert?
Im Prinzip muss du nur das Formular beim minimieren ins Tray verstecken.


Nein, also die Tray-Anwendung steht ja bereits, doch will ich das Fenster nur beim schließen in die TNA bekommen (das funktioniert auch) aber beim Minimieren soll es wie alle anderen Programme wie gewohnt in die Taskleiste.

cruso 1. Apr 2006 08:28

Re: TNA Minimierungsproblem
 
Also nach 24h darf ich pushen! Also -> Push! :???:

tigerman33 1. Apr 2006 11:26

Re: TNA Minimierungsproblem
 
Hi cruso,

Wie toms schon geschrieben hat--ohne dass du uns ein bisschen Code zeigst wird das ein bisschen schwierig. :wink:
Allerdings fällt mir auf dass die Buttons in der Titelzeile bei deinem Screenshot geändert sind, also vermute ich mal, dass du da wohl irgendwie dran rumgespielt haben musst. Ein Grund mehr, Code zu zeigen.

Gruß
Christian

cruso 1. Apr 2006 14:20

Re: TNA Minimierungsproblem
 
Ok dann hier der gewünschte Codeausschnitt (Form3 ist das Hauptfenster allerdings besteht das Minimierungsproblem bei Form1; allerdings muss der Fehler hier irgendwo liegen):

Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
begin
  Form3.Visible:=False;
  ShowWindow(GetWindow(handle,GW_OWNER),SW_HIDE);
end;

procedure TaskBarAddIcon;
var tnid : TNOTIFYICONDATA ;
begin
    tnid.cbSize := sizeof(TNOTIFYICONDATA);
    tnid.Wnd := Form3.handle;              
    tnid.uID := 1;                        
    tnid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    tnid.uCallbackMessage := WM_TASKBAREVENT;    
    tnid.hIcon := form1.image2.picture.icon.handle;
    strcopy(tnid.szTip,'bla');            
    Shell_NotifyIcon(NIM_ADD, @tnid);          
end;

procedure TForm3.WMTASKBAREVENT(var message: TMessage);
var point : TPoint;
begin
    case message.LParamLo of
         WM_LBUTTONDBLCLK : begin
                                 form1.show;
                            end;
         WM_RBUTTONDOWN  : begin
                                 SetForegroundWindow(Handle);
                                 GetCursorPos(point);
                                 popupmenu1.popup(point.x,point.y);
                            end;
    end;
end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
     inc(count);
     if count = 3 then begin
        self.hide;
        timer1.enabled := false;
        TaskBarAddIcon;
     end;
end;

procedure TaskBarRemoveIcon;
var tnid : TNOTIFYICONDATA ;
begin
    tnid.cbSize := sizeof(TNOTIFYICONDATA);
    tnid.Wnd := Form3.handle;
    tnid.uID := 1;
    Shell_NotifyIcon(NIM_DELETE, @tnid);
end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  TaskBarRemoveIcon;
end;

procedure TForm3.Beenden1Click(Sender: TObject);
begin
  close;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz