![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера подскажите! Нужно чтобы при нажати на какой либо элемент [D5, Win95/98]
wer1 © (2002-10-07 08:46:00)Мастера подскажите! Нужно чтобы при нажати на какой либо элемент
левой клавишей мышки например ToolButton появлялось контекстное меню как при нажатии правой клавишей мышки?
wer1 (2002-10-08 04:47:00) [1]Вопросов больше нет по данному решению. Каждый предложенный код имеет свою особенность для разны задач. Код предложенный Pat-ом
имеет приимущество в части того что кнопку можно использовать
и по прямому назначению т.е. при двойном нажатии (должна появиться стрелка для выбора пунктов меню), а сама кнопка работает собственно как обычная и отрабатывает какое либо действие, а код предложенный Юрием Зотовым хорош тем что краток и меню появляется в конкретном месте на элементе куда указывает курсор(я не пробовал на больших элементах но думаю что именно в этих случаях он удобен).
Anatoly Podgoretsky (2002-10-07 12:11:00) [2]Или вообще выкинуть, в панели управления, мышка - поменять местами клавиши, и это будет честно по отношению к пользователю
Pat (2002-10-07 12:08:00) [3]>...например ToolButton..
Style:=tbsDropDown;
DropDownMenu:=PopupMenu1;
И красиво и стандартно :-))
Юрий Зотов (2002-10-07 11:03:00) [4]С одной оговоркой - этот код можно сократить до 1-й строки:
with Mouse.CursorPos do PopupMenu1.Popup(X, Y);
wer1 (2002-10-07 10:39:00) [5]Всем спасибо.Попробовал код который предложил gek
как раз то что надо.
MBo (2002-10-07 09:01:00) [6]PopupMenu1.Popup
OxOTHuK (2002-10-07 09:01:00) [7]На форму кидается Popup меню - в него д забиваешь пункты так же как и в главное (ITEMS) - затем в инспекторе объектов у кнопки в поле Popup-menu выбираешь свое...
Если такое не прокатит, то вставляешь обработчик кнопки OnClick вызываешь свое меню типа popup1.show...
Наверное так... должно заработать (сам не проверял)...
gek (2002-10-07 09:00:00) [8]использовать PopUp из Delphi
примерно так
procedure TFormMain.ToolButton10Click(Sender: TObject);
var
T:TPoint;
begin
t.x:=ToolButton10.Left - 2;
t.y:=ToolButton10.Top - ToolButton10.heigh;
t:=ClientToScreen(t);
PopupMenu1.Popup(t.X, t.Y);
end;