Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поместить иконку приложения в IconTray [D3, Win95/98]


АндрейС ©   (2002-10-04 13:47:00) 

Как поместить иконку приложения в IconTray
Проблема в том, что в D3 нет (или я не нашел) типа "TNOTIFYICONDATA"


АндрейС   (2002-10-09 17:06:00) [1]

ОГРОМНОЕ СПАСИБО!!!


Reals   (2002-10-07 12:15:00) [2]


function TaskBarIcon( hWindow : THandle; ID : Cardinal; ICON : hicon; CallbackMessage : Cardinal; Tip : String; Typ: Integer ) : Boolean;
var NID : TNotifyIconData;
begin
FillChar( NID, SizeOf( TNotifyIconData ), 0 );

//Удалить иконку из Tray
if Typ=0 then begin
with NID do begin
cbSize := SizeOf( TNotifyIconData );
Wnd := hWindow;
uID := ID;
end;
Result := Shell_NotifyIcon( NIM_DELETE, @NID );
end else

//Добавить иконку в Tray
if Typ=1 then begin
with NID do begin
cbSize := SizeOf( TNotifyIconData );
Wnd := hWindow;
uID := ID;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := CallbackMessage;
hIcon := Icon;
if Length( Tip ) > 63 then SetLength( Tip, 63 );
StrPCopy( szTip, Tip );
end;
Result := Shell_NotifyIcon( NIM_ADD, @NID );
end else

//Изменить иконку в Tray
if Typ=2 then begin
with NID do begin
cbSize := SizeOf( TNotifyIconData );
Wnd := hWindow;
uID := ID;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := CallbackMessage;
hIcon := Icon;
if Length( Tip ) > 63 then SetLength( Tip, 63 );
StrPCopy( szTip, Tip );
end;
Result := Shell_NotifyIcon( NIM_MODIFY, @NID );
end else Result := False;
end;




Вызов функции:

TaskBarIcon(Handle, 0, LoadIcon(hInst,"MAINICON"), 0,"Sample",1);


Cobalt   (2002-10-04 16:35:00) [3]

Смотри модуль Shellapi.pas


Наверх

Титульная страница Поиск, карта сайта Написать письмо