Форум: "WinAPI";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизКак программно ... Найти похожие ветки
← →
Marko_polo (2002-11-27 15:04) [0]Как программно при нажатии кнопки свернуть окно в system tray???
← →
SPeller (2002-11-27 15:29) [1]Окна не могут сворачиваться в system tray
← →
Song (2002-11-27 17:20) [2]http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197
← →
SPeller (2002-11-28 01:43) [3]2 Song
Для изменения значка в трее используется класс TShellNotifyIcon модуля ShellApi
С каких пор TShellNotifyIcon стала классом?
← →
askanio (2002-11-28 09:54) [4]
Процедура добавляющая значек в Sys Tray
procedure TForm1.CreateTrayIcon(n:Integer);
var nidata : TNotifyIconData;
begin
with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle; //HWND вашего окна
uID := 1; // номер значка
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; //обрабатываемые флаги
uCallBackMessage := WM_MYICONNOTIFY;
hIcon := Application.Icon.Handle; // тооткуда берётся значек
StrPCopy(szTip,Application.Title); // всплывающая строка
end;
Shell_NotifyIcon(NIM_ADD, @nidata); // добавление значка
end;
Только не забудь спрятать окно программы. Например так
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);
Процедура удаляющая значек из Sys Tray
procedure TForm1.DeleteTrayIcon(n:Integer);
var nidata : TNotifyIconData;
begin
with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle;
uID := 1;
end;
Shell_NotifyIcon(NIM_DELETE, @nidata); // удаление значка
end;
← →
bak (2002-11-28 13:01) [5]неплохо бы еще обработать
protected
procedure WMGetSysCommand(var Message :TMessage); message WM_SYSCOMMAND;
procedure TForm1.WMGetSysCommand(var Message : TMessage) ;
Begin
IF (Message.wParam = SC_MINIMIZE) Then Form1.Visible:=False
Else Inherited;
End;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c