Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.032 c
14-41975
mari
2003-10-24 10:22
2003.11.13
удаление пробелов из строки


1-41467
Sagrer
2003-11-04 19:37
2003.11.13
Помогите с Selection в Memo.


3-40966
Sandman25
2003-10-16 17:18
2003.11.13
Paradox: Select id, (select sum( ...


1-41629
KoSt1
2003-10-26 11:04
2003.11.13
МАССИВ


3-40911
Oleg Barsky
2003-10-20 11:56
2003.11.13
Delete и обратно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский