Главная страница
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.025 c
6-41790
ilka
2003-09-17 14:46
2003.11.13
Какой компонент надо использовать?


3-41047
dimablind
2003-10-24 15:26
2003.11.13
функция max в sql


14-42086
vic_vm
2003-10-23 15:29
2003.11.13
Что выбрать для работы с XML на Delphi


14-42072
Knight
2003-10-23 15:52
2003.11.13
Люди! В чём глюк?


3-40912
denick
2003-10-20 10:48
2003.11.13
Мастера, помогите пожалуйста.