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

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

как поменять иконку в трее? [D6]


GIL ©   (2003-11-06 14:29:00) 

subj


kostik   (2003-11-11 16:07:00) [1]

в структуре PNOTIFYICON заполнить поля:
hWnd,hIcon,cbSise
дальше просто:
function Shell_NotifyIcon(iAction:integer;pNot:pointer):integer;stdcall;external "shell32.dll" name "Shell_NotifyIconA";

procedure Form1.Button1Click(Sender:tObject);
var
pNot:tNotifyIcon;
begin
Shell_NotifyIcon(NIM_MODIFY,@pNot);
end;


AbrosimovA   (2003-11-10 13:47:00) [2]

Извини просмотрел:

if F=1 then F:=0 else F:=1;
nidata.hIcon:=ExtractIcon(hInstance,"name.exe",F);
Shell_NotifyIcon(NIM_MODIFY,@nidata);


GIL   (2003-11-10 12:19:00) [3]

ты не мог бы кинуть мне на мыло пример чередования, а то я закинул все иконки в рес, но вне зависимости от номера теперь грузится толлько вторая


AbrosimovA   (2003-11-10 11:47:00) [4]


> GIL © (10.11.03 11:42) [11]
> а как загрузить несколько иконок?, куда их цеплять?


Я не совсем понял оба твоих вопроса, но все иконки, которые я динамически чередовал в трее, я сложил в ресурсе программы перед компилляцией.


GIL   (2003-11-10 11:42:00) [5]

а как загрузить несколько иконок?, куда их цеплять?


AbrosimovA   (2003-11-10 10:52:00) [6]

nidata.hIcon:=ExtractIcon(hInstance,"name.exe",F);
Shell_NotifyIcon(NIM_MODIFY,@nidata);

где F-номер иконки, который меняй динамически в таймере


AbrosimovA   (2003-11-10 10:51:00) [7]

nidata.hIcon:=ExtractIcon(hInstance,"pirs.exe",F);
Shell_NotifyIcon(NIM_MODIFY,@nidata);

где F-номер иконки, который меняй динамически в таймере


GIL   (2003-11-06 15:31:00) [8]

исправил, ошибок не выдает, но иконка не меняется!


GIL   (2003-11-06 15:25:00) [9]

ico:TIcon


GIL   (2003-11-06 15:23:00) [10]

сделал:
if nidata.hIcon=ico.Handle then nidata.hIcon:=Application.Icon.Handle else nidata.hIcon:=ico.Handle;
Shell_NotifyIcon(NIM_MODIFY, @nidata);
не работает, пишет ошибку!


GIL   (2003-11-06 15:19:00) [11]

не, не пойдет, у мя икона меняться будет по таймеру, я уже загрузил вторую икону в имаг, щас пробую


OlegGashev   (2003-11-06 15:17:00) [12]

TIcon.LoadFromFile


OlegGashev   (2003-11-06 15:17:00) [13]

TIcon.LoadFromFile


GIL   (2003-11-06 15:14:00) [14]

hIcon := Application.Icon.Handle;
вопрос - как туда поместить другую иконку??, у меня есть только файл с иконкой, как ее подгружать?


OlegGashev   (2003-11-06 14:42:00) [15]

Shell_NotifyIcon с NIM_MODIFY параметром.


Наверх

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