Ciber SLasH

|
Posted: Sun Nov 27, 2005 20:28 Post subject: |
|
|
Вот решение:
1) добавляешь в форму в раздел private:
Code: | type
TForm1 = class(TForm)
...
private
{ Private declarations }
// Обработчик сообщения минимизации
procedure MinimizeInTray(var Msg: TMessage); message WM_SYSCOMMAND;
end; |
2) добавляешь функцию:
Code: | procedure TForm1.MinimizeInTray(var Msg: TMessage);
begin
inherited;
if Msg.WParam = SC_MINIMIZE then // если нажат кнопарь "Свернуть"
begin
TrayIcon(1, Application.Icon.Handle); // твоя функция добавления иконки в трэй
ShowWindow(Application.Handle, SW_HIDE) // прячем форму
end
end; |
3) в onCreate формы вписываем:
Code: | procedure TForm1.FormCreate(Sender: TObject);
begin
Application.Minimize
end;
|
4) изменяем исходник проекта так (показываю свой пример):
Code: | program MinTray;
uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1},
About in 'About\About.pas' {AboutBox};
{$R *.res}
const
WM_SYSCOMMAND = $0112;
begin
Application.Initialize;
Application.Title := 'Minimize in Tray';
Application.CreateForm(TForm1, Form1);
Unit1.Form1.Perform(WM_SYSCOMMAND, SC_MINIMIZE, 0); // программное нажатие на кнопку "Свернуть"
Application.Run;
end. |
|
|