Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
ВнизOnly tray Найти похожие ветки
← →
TUser (2003-12-14 19:32) [0]Создаю проект, который на экране будет виден только в качестве иконки в трее. В файле проекта пишу так
program Project1;
uses
Forms, Menus, Classes, Dialogs,
CoolTrayIcon;
{$R *.res}
var
TIcon:TCoolTrayIcon;
PopupMenu1:TPopupMenu;
MenIt:TMenuItem;
ne:TNotifyEvent;
procedure ExitProgram{(Sender:TObject)};
begin
application.Terminate;
end;
begin
Application.Initialize;
@ne:=@ExitProgram;
MenIt:=TMenuItem.Create(application);
MenIt.Caption:="&Exit";
MenIt.OnClick:=ne;
TIcon:=TCoolTrayIcon.Create(Application);
TIcon.Icon.LoadFromFile(MyIcon.ico");
TIcon.IconVisible:=true;
PopupMenu1:=TPopupMenu.Create(Application);
PopupMenu1.Items.Add(MenIt);
TIcon.PopupMenu:=PopupMenu1;
// TIcon.PopupAtCursor;
Application.Run;
while true do
begin end;
end.
Т.е. создаю объект TrayIcon, создаю PopupMenu и присваиваю все как надо. Но не работает. Попап-меню не появляется. Если заставить его появляться при загрузке (эта строчка заремлена), то менюшка с итемом Exit появляться будет, но управление в процедуру ExitProgram не передается.
При этом , если все тоже самое проделать в проекте, где есть форма, то там все нормально:
procedure TForm1.FormCreate(Sender: TObject);
var mi:TMenuItem;
ne:TNotifyEvent;
ti:TCTrayIcon;
begin
@ne:=@ExitProgram;
mi:=TMenuItem.Create(application);
mi.Caption:="&Exit";
mi.OnClick:=ne;
popupmenu1:=TPopupMenu.Create(application);
popupmenu1.Items.Add(mi);
form1.PopupMenu:=PopupMenu1;
ti:=TCTrayIcon.Create(application);
ti.IconVisible:=true;
ti.PopupMenu:=popupmenu1;
end;
В чем тут дело?
← →
Юрий Зотов (2003-12-14 21:56) [1]http://www.delphikingdom.com/helloworld/samples_win.htm#link11
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c