Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Работа с 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 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.096 c
15-1164178224
homm
2006-11-22 09:50
2006.12.10
“Хвостатая” ссылка


9-1135854478
Аццкий_рыцарь:)
2005-12-29 14:07
2006.12.10
DoCollision B DelphiX


8-1146034876
Devider
2006-04-26 11:01
2006.12.10
Изменение размера изображения при видеозахвате.


3-1159842850
Lex_!
2006-10-03 06:34
2006.12.10
DBGrid - первая колонка заголовком


11-1139899673
BaryVetaL
2006-02-14 09:47
2006.12.10
Проект VCL2KOL