![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вкл./откл. выпадание меню по клику на иконке в трее ?
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.