Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

Программа без формы   Найти похожие ветки 

 
^^^Dragon^^^   (2003-08-12 12:49) [0]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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

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


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

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


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

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;


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

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


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

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


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

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



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-74279
Roksolan
2003-10-13 09:19
2003.10.23
Install Shield Express


1-74160
Nobody2002
2003-10-10 14:44
2003.10.23
DBGrid - как выделять всю строку с возможностью редактирования


3-74020
KGB
2003-10-02 14:37
2003.10.23
Non-blob column in table required to perform operation


6-74362
oduvan
2003-08-25 18:59
2003.10.23
бобо ((( idHTTP1.POST(.......) - Неработает!!!


1-74194
Alibaba
2003-10-03 18:10
2003.10.23
Послать сообщение TScrollBox на прокрутку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский