Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



как поместить иконку в traybar

Для добавления иконки нужно сперва подключить модуль ShellAPI в раздел uses, а затем написать следующий код по нажатию на кнопку:
procedure TForm1.Button1Click(Sender: TObject);
var no:TNotifyIconData;
Hicon1:HIcon;
begin
//Помещение иконки в Tray Bar
HIcon1:=ExtractIcon(Handle,'i:\arw01lt.ico',0);
with no do begin
cbSize:=Sizeof(TNotifyIconData);
Wnd:=Handle;
uID:=0;
UFlags:=NIF_MESSAGE+NIF_ICON+NIF_TIP;
SzTip:='Traybar Tip';
HIcon:=HIcon1;
uCallBackMessage:=WM_USER+0;//Определяемое пользователем сообщение
end;
Shell_NotifyIcon(NIM_ADD,@no);
end;
Для того, чтобы удалить иконку обработайте нажатие второй кнопки:
procedure TForm1.Button2Click(Sender: TObject);
var no:TNotifyIconData;
begin
//Удаление иконки
with no do begin
cbSize:=Sizeof(TNotifyIconData);
Wnd:=Handle;
uID:=0;
end;
Shell_NotifyIcon(NIM_Delete,@no);
end;
Как это сделано?
Для добавления, удаления или редактирования иконок на TrayBar'e используем специальную API функцию - Shell_NotifyIcon. Как вы уже прочитали для того, чтобы ею воспользоваться, нужно сначала подключить модуль ShellAPI в разделе uses. В качестве параметров функции нужно указать две вещи. Сначала сообщение, которое мы посылаем, определяющее необходимое действие над иконкой. Этот параметр может принимать одно из следующих значений:
NIM_ADD - добавляет иконку в область TrayBar'a
NIM_DELETE - соответственно, удаляет
NIM_MODIFY - если задать это значение, можно будет модифицировать иконку
В качестве второго параметра передаётся структура NOTIFYICONDATA, которая содержит сведения об иконке. Эта структура обладает следующими полями:
cbSize - это размер структуры в байтах
hWnd - дескриптор окна, которое будет получать сообщения ассоциированные с иконкой на TrayBar'e
uID - идентификатор иконки на TrayBar'e
uFlags - массив флагов, значение этого поля может комбинироваться из следующих констант:
NIF_ICON - элемент структуры hIcon будет задействован
NIF_MESSAGE - элемент структуры uCallbackMessage будет задействован
NIF_TIP - - элемент структуры szTip будет задействован
uCallbackMessage - идентификатор сообщения. Система использует этот идентификатор, когда сообщение посылается окну, обозначенному в поле hWnd. Это сообщение посылается, когда происходит событие мыши над областью иконки.
hIcon - дескриптор задаваемой иконки
szTip - всплывающая подсказка, появляющаяся над областью иконки



<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS