AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TNA Minimierungsproblem

Ein Thema von cruso · begonnen am 29. Mär 2006 · letzter Beitrag vom 1. Apr 2006
Antwort Antwort
cruso
(Gast)

n/a Beiträge
 
#1

TNA Minimierungsproblem

  Alt 29. Mär 2006, 18:28
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
Miniaturansicht angehängter Grafiken
taskleiste_157.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: TNA Minimierungsproblem

  Alt 29. Mär 2006, 20:36
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.
Thomas
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#3

Re: TNA Minimierungsproblem

  Alt 30. Mär 2006, 16:08
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.
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#4

Re: TNA Minimierungsproblem

  Alt 1. Apr 2006, 09:28
Also nach 24h darf ich pushen! Also -> Push!
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#5

Re: TNA Minimierungsproblem

  Alt 1. Apr 2006, 12:26
Hi cruso,

Wie toms schon geschrieben hat--ohne dass du uns ein bisschen Code zeigst wird das ein bisschen schwierig.
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
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#6

Re: TNA Minimierungsproblem

  Alt 1. Apr 2006, 15:20
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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