Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

tray [D6, Win2k]


Jeka ©   (2002-12-09 12:23:00) 

Как программно сделать чтобы форма сворачивалась в tray


Jeka   (2002-12-17 12:54:00) [1]

Спасибо огромное


Юрий Зотов   (2002-12-09 14:14:00) [2]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Forms, ShellAPI;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject); // Обработчик OnCreate
private
FIconData: TNotifyIconData;
protected
procedure WndProc(var Message: TMessage); override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

const
UM_TRAY = WM_USER + 1;

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
with FIconData do
begin
cbSize := SizeOf(FIconData);
Wnd := Handle;
uID := 100;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := UM_TRAY;
hIcon := Application.Icon.Handle;
StrPCopy(szTip, Application.Title)
end;
Application.ShowMainForm := False;
Shell_NotifyIcon(NIM_ADD, @FIconData)
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
case Message.Msg of
WM_SYSCOMMAND:
if TWMSysCommand(Message).CmdType and $FFF0 = SC_MINIMIZE then
begin
Shell_NotifyIcon(NIM_ADD, @FIconData);
Application.MainForm.Visible := False
end
else inherited;
UM_TRAY:
if Message.LParam = WM_LBUTTONDBLCLK then
begin
Application.MainForm.Visible := True;
ShowWindow(Application.Handle, SW_HIDE);
Shell_NotifyIcon(NIM_DELETE, @FIconData)
end;
else inherited
end
end;

end.


Дмитрий К.К.   (2002-12-09 13:02:00) [3]

Рядом ветка живет с подробными ответами!!!


Ежик   (2002-12-09 12:52:00) [4]

Ищи в FAQ этот вопрос задается каждый день и не по одному разу!


Наверх

Титульная страница Поиск, карта сайта Написать письмо