Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Таскбар и трей.   Найти похожие ветки 

 
misterix   (2003-09-12 11:02) [0]

У меня простая задача. Надо сворачивать окно в трей, а при разворачивании вынимать иконку из трея и показывать приложение в таскбаре. Выполняю следующий код.

При сворачивании.

// Hide app in taskbar
ShowWindow(Application.Handle,SW_HIDE);
SetWindowLong (Application.Handle,GWL_EXSTYLE,NOT WS_EX_APPWINDOW);

/// Minimize on tray
with nid do begin
cbSize := SizeOf( TNotifyIconData );
Wnd := MainForm.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := WM_ICONCALLBACK;
hIcon := Application.Icon.Handle;
StrCopy(@szTip,PChar(STR_VENDOR));
end;
Shell_NotifyIcon(NIM_ADD, @nid );


При разворачивании.

ShowWindow(Application.Handle,SW_SHOW);
SetWindowLong (Application.Handle,GWL_EXSTYLE,WS_EX_APPWINDOW);

//Delete tray icon
with nid do
begin
cbSize := SizeOf( TNotifyIconData );
Wnd := MainForm.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := WM_ICONCALLBACK;
hIcon := Application.Icon.Handle;
StrCopy(@szTip,PChar(STR_VENDOR));
end;
Shell_NotifyIcon( NIM_DELETE, @nid );


Это все работает, но почему-то через раз. В трей приложение сворачивается всегда. И всегда прячет свою кнопку в таскбаре. Также приложение всегда разворачиваетсяЮ всегда удаляет иконку из трея. Но почему-то не всегда (без закономерности) отображает свою кнопку в таскбаре.

Может надо чего-то еще добавить?

PS nid - это TNotifyIconData


 
Woolen   (2003-09-12 14:58) [1]

Думаю, ты не проверял еще, иначе вопрос ставил бы по-другому, потому проверь, у тебя код этот исполняется в те моменты, когда значок не появляется или не исполняется.


 
andre ©   (2003-09-12 22:41) [2]

А попробуйте делать через флаг, т.е. когда икоонка в трее TrayEnabled := true, а когда нет - false; погоняйте прогу по шагам.



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-42026
Сатир
2003-10-16 16:06
2003.11.13
Wanted!


1-41645
Furkan
2003-11-04 10:18
2003.11.13
Caption у ListView.Columns


1-41278
Nikolay M.
2003-10-31 11:32
2003.11.13
Ручной отлов Exception-ов - ?


4-42266
westlion
2003-09-13 20:32
2003.11.13
кнопка


1-41451
WondeRu
2003-10-23 09:43
2003.11.13
Плагины и СОМ