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

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

Как вкл./откл. выпадание меню по клику на иконке в трее ?


Phantomaz ©   (2004-01-10 16:46:00) 

Использую компонет BAPTrayIcon.
Как включать/выключать выпадание меню по нажатию
левой кнопкой мыши на иконке ?


Galdalf   (2004-01-16 10:15:00) [1]

Да ладно тонкости, просто навигация по коду и немного логики :)


Phantomaz   (2004-01-15 14:24:00) [2]

Вот это тонкости !

Сейчас попробую, спасибо !


Gandalf   (2004-01-14 22:07:00) [3]

Ах... Хитрый Бартов решил, что никто не захочет такого делать, потому заблокировал сброс. В итоге надо править код (новая версия):


procedure TBAPTrayIcon.SetPopupMenu;
begin
 FPopupMenu := Value;
 FControl.AttachProc(WndProcMouse);
end;


Если добавишь это вместо того что сейчас, то код
 BAPTrayIcon1.PopupMenu:=0;сделает что надо.


Phantomaz   (2004-01-14 20:29:00) [4]

Да нет же !
Всё работает, мне не нужно перемещать его в ForeGround !
Просто на время показа сообщения (пусть это будет окно подтверждения при выборе в меню пункта "Выход"), мне нужно
заблокировать меню совсем, чтобы по нажатию правой кнопкой оно не выпадало, а то таких окон (типа "Вы уверены ?") можно наклепать море !  Вообще, я думал, что будет работать PopupMenu1.Enabled
или Visible = true/false, но нет. Или я что-то не так делаю ?


Maxim Pushkar   (2004-01-14 00:08:00) [5]

procedure TForm1.BAPTrayIcon1MouseUp(Sender: PControl;
 var Mouse: TMouseEventData);
begin
 if Mouse.Button = mbRight then
 begin
   SetForegroundWindow(Applet.Handle);
   PopupMenu1.Popup(Mouse.X, Mouse.Y);
   Mouse.Button := mbNone;
 end;
end;


Phantomaz   (2004-01-12 19:26:00) [6]

Пробовал PopupMenu1 := 0 - не получается
компилируется, но компилятор "подсказывает" 0 заменить на nil
Пробовал также PopupMenu1.Visible = true/false, тоже не работает


Gandalf   (2004-01-10 19:11:00) [7]

Не помню уже точно... - попробуй PopupMenu=0.


Наверх

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