Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.101.95] |
|
Сообщ.
#1
,
|
|
|
Подскажите пожалуйста, как мне создать программу, которая загружалась бы в системный tray так, чтобы на экране была бы видна ее иконка? (так у иконки выбора языка клавиатуры).
|
Сообщ.
#2
,
|
|
|
Могу прислать компонент, который помещает иконку в систрей. Если надо, пиши на мыло.
|
Сообщ.
#3
,
|
|
|
Как любят писать в ФИДО ...
Ответ, свожиться к однозначному использовании библиотеки rxlib Искать можно на www.torry.ru |
Сообщ.
#4
,
|
|
|
---Надеюсь понятно-------
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ShellApi {Содержит ф-ю Shell_NotifyIcon}; const WM_MyMessage = WM_USER+$DCB; {Сообщение, которое посылать. Значение должно быть WM_USER+ ????} type TForm1 = class(TForm) PopupMenu1: TPopupMenu; Restore1: TMenuItem; bHide: TButton; procedure bHideClick(Sender: TObject); procedure Restore1Click(Sender: TObject); private { Private declarations } procedure OnMyMessage(var Msg: TMessage); message WM_MyMessage; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.bHideClick(Sender: TObject); var nid: TNOTIFYICONDATA; begin nid.cbSize:=SizeOf(nid); {Размер записи} nid.Wnd:=Handle; {Хэндл окна} nid.uID:=0; {Идентификатор значка. Нужен для разделения нескольких своих значков в трее} nid.uFlags {Флаги, говорящие, что в записи передано} := NIF_ICON {В записи был передан значек} +NIF_MESSAGE {передано новое значение для сообщения} +NIF_TIP {передано новое значение TIP'а} ; nid.uCallbackMessage:=WM_MyMessage; {Если есть флаг NIF_MESSAGE, то посылать теперь это сообщение} nid.hIcon:=Application.Icon.Handle; {Если есть NIF_ICON, то значек поменять на этот} nid.szTip:='Если есть NIF_TIP, то подсказка будет такая'; Shell_notifyicon(NIM_ADD, @NID); {NIM_ADD означает добавить значек. Тогда нужно флаги ставить все, и передавать все параметры} {NIM_DELETE означает удалить значет. Флаги надо ставить 0, и передавать только uID и cbSize} {NIM_MODIFY означает обновить значек. Флаги ставишь те, что надо, и соответственно передаешь, что надо} Hide; end; procedure TForm1.OnMyMessage(var Msg: TMessage); var p: TPoint; begin GetCursorPos(P); if Msg.LParam=WM_RBUTTONUP then PopupMenu1.Popup(P.X, P.Y); end; procedure TForm1.Restore1Click(Sender: TObject); var nid: TNOTIFYICONDATA; begin Show; nid.cbSize:=SizeOf(nid); nid.Wnd:=Handle; nid.uID:=0; nid.uFlags:=0; Shell_notifyicon(NIM_DELETE, @NID); end; end. |
Сообщ.
#5
,
|
|
|
Могу посоветовать сайт по этой теме: pascal.times.lv
|