Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Изменение иконки в SystemTray?


Автор: Guest 24.11.2004, 06:38
Как поменять иконку в SystemTray?

Автор: Jureth 24.11.2004, 07:20
Изменяешь NotifyIconData, потом вызываешь Shell_NotifyIcon(NIM_MODIFY, ...)

Автор: Guest 24.11.2004, 09:16
var
nidata: TNotifyIconData;
begin

with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_MYICONNOTIFY;

hIcon := Application.Icon.Handle;// Application.Icon.;
StrPCopy(szTip,Application.Title);
end;
....................

В каком из этих свойств нужно указать путь к и иконке и какой функцией?

Автор: mntek_ 24.11.2004, 09:27
Код

var
nidata: TNotifyIconData;
begin
with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_MYICONNOTIFY;
hIcon := LoadIcon(NULL, IDI_HAND); //твоя новая иконка - смотри winapi help
StrPCopy(szTip,Application.Title);
end;
...
Shell_NotifyIcon(NIM_MODIFY, @nidata); //изменение иконки
...
end;


Автор: Guest 25.11.2004, 09:33
Доходит до строки:

hIcon := LoadIcon(NOT NULL,'Import1.ico');

и выдается ошибка:

Project Project1.exe raised exception class EVariantError with message 'Invalid variant type conversion'.Process stoped.Use Step or Run to continue.

Подскажите,что это... smile

Автор: _hunter 25.11.2004, 14:15
а что это за параметр такой интересный "NOT NULL" ты его где нашел?

Автор: mntek_ 25.11.2004, 16:30
smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)