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

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

ToolBar+ToolButton+PopupMenu(подсоединяем как DropDownMenu). [D7, XP]


Dymok ©   (2010-05-17 12:02:00) 

ToolBar+ToolButton+PopupMenu(подсоединяем как DropDownMenu).
ToolButton.style ставим в tbsDropDown.

таким образом пытаюсь получить кнопку с выпадающим меню.

Вопрос: Как сделать так, чтобы PopupMenu выходило не только при нажатии на треугольничек, но и при нажатии на саму кнопку TOOlButton, причем выходило строго под кнопкой???

Пробовал обрабатывать событие TForm1.ToolButtonClick(Sender: TObject)

PopupMenu.Popup(Mouse.CursorPos.X+15, Mouse.CursorPos.Y+15);

Но в этом случае не удается вывести PopupMenu точно под кнопкой, особенно если сделать крупную копку,что не совсем красиво.


Leonid Troyanovsky   (2010-05-18 10:45:00) [1]


> Dymok ©   (18.05.10 08:45) [7]

Теперь понятно.

--
Regards, LVT.


Dymok   (2010-05-18 08:45:00) [2]

Leonid Troyanovsky

Когда жмем на треугольничек (не на кнопку!!!), кнопка остается как бы нажатой (выделенной?), до тех пор пока видно выпадающее меню, т.е. как бы видно, что меню выпало из кнопки.

Когда жмем на кнопку без "(Sender as TToolButton).Down:=True", кнопка сразу становится ненажатой, что не очень красиво.


Leonid Troyanovsky   (2010-05-17 18:41:00) [3]


> Dymok ©   (17.05.10 17:06) [5]

> Будет еще лучше если добавить перед этим
> (Sender as TToolButton).Down:=True;

Переобоснуй.

--
Regards, LVT.

PS. Там обработчик был на OnClick.


Dymok   (2010-05-17 17:06:00) [4]

Будет еще лучше если добавить перед этим
(Sender as TToolButton).Down:=True;


Dymok   (2010-05-17 14:18:00) [5]

Leonid Troyanovsky

О, это еще круче! Оказывается как все просто!


Leonid Troyanovsky   (2010-05-17 13:49:00) [6]


> Dymok ©   (17.05.10 12:02)  

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1273589073&n=18

--
Regards, LVT.


Dymok   (2010-05-17 12:57:00) [7]

Круто :)

Спасибо!


Омлет   (2010-05-17 12:51:00) [8]

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
 with TToolButton(Sender), ClientToScreen(Point(0, Height)) do
   PopupMenu1.Popup(x, y);
end;


Наверх

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