
Zitat von
eisblock:
Vielleicht wisst ihr auch, wie man das TrayNotifyWnd-Fenster aus dem Shell_TrayWnd-Fenster abkapseln kann

(das würde die neuprogrammierung des Traybereichs ersparen)
Klar
Delphi-Quellcode:
Unit Unit1;
Interface
Uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls;
Type
TForm1 =
Class(TForm)
Button1: TButton;
Button2: TButton;
Procedure Button1Click(Sender: TObject);
Procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
OriginParent: Hwnd;
public
{ Public-Deklarationen }
End;
Var
Form1: TForm1;
Implementation
{$R *.dfm}
Procedure TForm1.Button1Click(Sender: TObject);
Begin
OriginParent := Windows.GetParent(xxx);
Windows.SetParent(xxx, Self.Handle);
End;
Procedure TForm1.Button2Click(Sender: TObject);
Begin
Windows.SetParent(xxx, OriginParent);
End;
End.
Edit:
xxx =
Handle Deiner
TNA
Edit2:
Hab mir gerade erst Deinen Anhang angesehen. Wenn Du
Windows.SetParent(xxx, Self.Handle);
ersetzt durch
Windows.SetParent(xxx, 0);
landet Deine
TNA übrigens auf dem Desktop.
Edit3:
Was mir gerade noch einfällt:
Solltest Du die
TNA auf Deine eigene Form packen, dann denke daran, beim Beenden Deiner Anwendung das Ganze wieder rückgängig zu machen (Button2Click) - ansonsten stehst Du ohne
TNA da

Obwohl man die auch irgendwie wieder herstellen kann; weiss allerdings aktuell nicht, wie.
Edit4: Rechtschreibfehler in Edit3 beseitigt