Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программа без формы [D6, Win2k, WinXP]


^^^Dragon^^^ ©   (2003-08-12 12:49:00) 

Здравствуйте, уважаемые Мастера.
Как можно поместить иконку в трэй, сохздать всплывающее меню и пункты в нем не создавая формы? Спасибо.


KSergey   (2003-08-17 11:36:00) [1]

Удалено модератором
Примечание: Offtopic


Viktorious   (2003-08-16 17:25:00) [2]

Меню можно создавать через функции WinAPI CreatePopupMenu,InsertMenuItem,InsertMenu. Там никаких форм и окон не надо. Для того чтобы показать сформированное меню - TrackPopupMenuEx. А вот чтобы обработывать клики по меню - надо в приложении прописать обработчики событий меню. Это уже техника программирования без VCL (раз пишешь без форм, то нафиг тебе VCL?)


^^^Dragon^^^   (2003-08-15 17:42:00) [3]

Нееее, не то. Формы НЕТ!!! Нет сьроки Application.CreateForm(TForm1, Form1);. А книжку скачал, дельная, нечего сказать сижу, вот просвещаюсь. Если что - напишу, или выложу исходники.


BillyJeans   (2003-08-15 14:00:00) [4]

TrayPopUpMenu := TPopUpMenu.Create(nil);

....
procedure TMainForm.WMICON(var msg: TMessage);
var P : TPoint;
begin
if msg.LParam = WM_LBUTTONUP then begin
GetCursorPos(p); PopupMenu1.Popup(P.X, P.Y);
end;
end;


SH   (2003-08-13 18:48:00) [5]

Во, специально сбегал посмотрел в свои проекты.
Чтобы показать PopupMenu, найди на вкладке Standart соответствующий компонент и нарисуй необходимую менюшку. Это ещё не всё. Чтоб заюзать трэй и не мучаться с WinAPI, используй библиотеку RxLib ( http://www.rxlib.ru). Она входит в стандартную поставку Delphi6. В этой библиотеке есть компонент RxTreeIcon, поставььте его на форму, в свойство PopupMenu подсуньте созданную менюшку, кажется это будет PopupMenu1, заюзайте нужные вам события для иконки в трее и наслаждайтесь! Чуть не забыл: там ещё иконку для Item-ов меню выставить можно, тоже в свойствах надо из файла подзагрузить. Я для этого использовал стандартный компонент ImageList. Если всё же Вам хочется на WinAPI, то попробуйте глянуть исходники RxTreeIcon. Я вот сам хочу всё это на WinAPI переписать, но пока не получается, у кого получилось - свистните !


dabadabiabo   (2003-08-12 17:50:00) [6]

Игорь Шевченко дело говорит!

Я по этой книге такое приложение написал,
работает на все 100%

Том 2 - PDF вариант:
http://delphiplus.nagano.ru/downloads/doc/delphi5/d5_dev_guide2.zip
вес 5Mb


Шёл мимо   (2003-08-12 16:52:00) [7]

Сделано, конечно же, в форме, но форма нигде не отображается (в том числе и на таскбаре). Все операции только с TrayIcon


^^^Dragon^^^   (2003-08-12 16:15:00) [8]

2Шёл мимо
Не то, по крайней мере там все в форме сделано. Компилится не хочет (пишет не библиотеки Trayform), а так штука занятная.


Игорь Шевченко   (2003-08-12 14:13:00) [9]

Читать до посинения Тейксейру и Пачеко. Там очень хорошо про создание таких программ написано.


Шёл мимо   (2003-08-12 14:09:00) [10]

Удалено модератором
Примечание: Личная переписка


SH   (2003-08-12 14:01:00) [11]

Как прибить форму я и сам не знаю: на чистом WinAPI надо юзать. Кто знает подкиньте плисс код. Но менюшку показать я могу. Сейчас под рукой Дельфей нету, позже вышлю.


^^^Dragon^^^   (2003-08-12 13:32:00) [12]

Это не главное. Это я умею. А вот как кодом создать Popupmenu и с вызывать его по щелчку на иконке??


Игорь Шевченко   (2003-08-12 13:12:00) [13]

Иконку в трей вставляют функцией Shell_NotifyIcon (c) А. Тенцер


Наверх

Титульная страница Поиск, карта сайта Написать письмо