Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Taskbareintrag (https://www.delphipraxis.net/442-taskbareintrag.html)

CalganX 22. Jul 2002 13:26


Taskbareintrag
 
Hi @all!
Ich habe ein kleines Problem. Ersteinmal was ich vorhabe:
==============
Ich versuche ein Programm zuschreiben, dass beim minimieren des Form1 zur Traybar verschoben wird. Nun soll aber der Eintrag in der Taskbar verschwinden.
Wenn nun auf das Trayicon doppelt geklickt wird, soll das Form wiederhergestellt werden und der Eintrag in der Taskbar neu erstellt werden.

==============
So, die Komponente für das Trayicon habe ich (auch weiß ich, wie ich das Form neu erstelle etc.). Die Frage ist halt: wie lasse ich den Eintrag beim minimieren verschwinden?

Mein Code-Ansatz:
Code:
procedure toTray;
begin
  SxTrayIcon1.Active := true; // Shell+ Komponente zum verschwinden in der Traybar
  // ab hier: keine Ahnung! HILFE
end;

procedure fromTray;
begin
  SxTrayIcon1.Active := false;
  // Zurück in die Taskbar!
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMinimize := toTray;
  Application.OnRestore := fromTray;
end;
So, ich hoffe ihr habt verstanden, was ich vorhabe und könnt mir helfen!

Chris1308

CalganX 22. Jul 2002 14:51

So, Problem gelöst...
Für die, die es interessiert der Source:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SxTrayIcon;

type
  TForm1 = class(TForm)
    SxTrayIcon1: TSxTrayIcon;
    procedure FormCreate(Sender: TObject);
    procedure toTray(Sender: TObject);
    procedure fromTray(Sender: TObject);
    procedure SxTrayIcon1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.toTray(Sender: TObject);
var Owner: HWND;
begin
  Owner:=GetWindow(Handle,GW_OWNER);
  ShowWindow(Owner,SW_HIDE);
end;

procedure TForm1.fromTray(Sender: TObject);
var Owner: HWND;
begin
  Owner:=GetWindow(Handle,GW_OWNER);
  ShowWindow(Owner,SW_SHOW);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SxTrayIcon1.Active := true;
  Application.OnMinimize := toTray;
end;

procedure TForm1.SxTrayIcon1DblClick(Sender: TObject);
begin
  fromTray(self);
  Application.Restore;
end;

end.
Ihr braucht aber die Shell+ - Komponenten!

Chris1308

Christian Seehase 22. Jul 2002 15:17

Moin Chris,

und was sind die Shell+ Komponenten?

CalganX 22. Jul 2002 15:25

Die sind zur Arbeit mit der Shell genaueres hier!

Chris1308

PS: Hoffe die Adresse war richtig...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 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