Форум: "WinAPI";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизРабота с Shell_NotifyIcon Найти похожие ветки
← →
leonidus © (2006-07-28 13:22) [0]Мастер подскажите пожалуйста, для того, что бы поместить иконку мой программы в трей я использую компонент из библиотеки LMD, а теперь мне нужно при запуске программы над ним отобразить т.н. Balloon Tips, я так понял что нужно использовать функцию Shell_NotifyIcon, и нашел хороший пример ее использования: http://www.swissdelphicenter.ch/torry/showcode.php?id=1164 однако он не работает если иконка в трей уже помещена, вот и вопрос, как мне с одной стороны использовать удобства компонента LMD помещающего иконку в трей и используя Shell_NotifyIcon отобразить Balloon Tips ?
← →
Eraser © (2006-07-28 14:48) [1]> [0] leonidus © (28.07.06 13:22)
> я использую компонент из библиотеки LMD
LOL :))
лучше используйте компонент из библиотеки JEDI VCL, либо стандартный, который появился в составе Делфи2006.
← →
leonidus © (2006-07-28 15:09) [2]Ну во-первых проект уже написан с использованием LMD, а во-вторых я юзаю Delphi 6
← →
Eraser © (2006-07-28 15:12) [3]> [2] leonidus © (28.07.06 15:09)
> проект уже написан с использованием LMD
ну тогда чтобы не устанавливать громоздкий JEDI посоветую использовать отдельный компонент CoolTray - найти его в сети проблем не должно вызвать.
> а во-вторых я юзаю Delphi 6
а какая разница?
← →
DprYg © (2006-07-28 15:40) [4]
private
procedure tray(var a:tmessage); message traymsg;
procedure min(var a:twmsyscommand); message wm_syscommand;
.............
end;
var nid:tnotifyicondata;
...........
procedure TMainForm.FormDestroy(Sender: TObject);
begin
shell_notifyicon(nim_delete,@nid);
............
end;
procedure tMainForm.tray(var a:tmessage);
var
p:tpoint;
begin
case a.LParam of { всплывающее меню }
wm_lbuttondblclk:begin show; setforegroundwindow(handle); end;
wm_rbuttondown:begin getcursorpos(p); pont.Popup(p.X,p.Y); end;
end;
end;
procedure tMainForm.min(var a:twmsyscommand);
begin
if a.CmdType=sc_minimize then
begin
mainform.Hide;
with nid do
begin
cbsize:=sizeof(tnotifyicondata);
wnd:=handle;
uid:=1;
uflags:=nif_icon or nif_message or nif_tip;
ucallbackmessage:=traymsg;
hicon:=application.Icon.Handle;
sztip:="Name...";
end;
shell_notifyicon(nim_add,@nid);
end else inherited;
end;
procedure TMainForm.mRestoreClick(Sender: TObject);{Восстановить}
begin
mainform.Show;
shell_notifyicon(nim_delete,@nid);
end;
← →
DprYg © (2006-07-28 15:41) [5]Извиняюсь за читабельность кода. Торопился...
← →
leonidus © (2006-07-30 12:46) [6]DprYg спасибо, сейчас попробую
← →
DprYg © (2006-07-30 14:37) [7]uses ShellApi;
const traymsg = WM_USER + 1;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c