powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TToolBar + TToolButton + DropDownMenu (с ним и без него)
2 сообщений из 2, страница 1 из 1
TToolBar + TToolButton + DropDownMenu (с ним и без него)
    #40094772
luigi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Имеем:
- D7;
- форма с TImage, поверх которого разбросаны несколько десятков TToolBar
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  Align := alNone;
  AutoSize := True;
  EdgeBorders := [];
  EdgeInner := esNone;
  EdgeOuter := esNone;
  Flat := True;
  Font.Style := [fsBold];
  List := True;
  ShowCaptions := True;
  ShowHint := True;
  Wrapable := False;


- на каждой одна единственная TToolButton
Код: pascal
1.
2.
3.
4.
5.
6.
7.
  AutoSize := True;
  Caption := '<что-то>';
  Hint := '<что-то>';
  Style := tbsDropDown;
  p := TPopupMenu.Create(Self);
  p.AutoHotkeys := maManual;
  DropDownMenu := p;


Жило это все довольно долго, по мере жизни на TImage добавлялись новые TToolBar'ы. Настал момент "борьбы" за свободное место. Т.к. у некоторых TToolButton.DropDownMenu есть всего один TMenuItem, то захотелось сделать финт - для таких TToolButton оставлять создание и присвоение DropDownMenu (т.к. оно используется несмотря на количество TMenuItem'ов), а вот Style := tbsButton;

В результате где несколько пунктов меню - все осталось по-прежнему, а где один - кнопка выпадающего меню рисоваться перестала. Занятого места стало меньше, свободного больше. Но, как обычно, появился побочный эффект - при нажатии на такую кнопку выпадает меню с одним пунктом, а должен отрабатывать OnClick. Если же установить AutoPopup := False, то меню не появляется (это хорошо), но при этом нажатие кнопки не отрисовывается (это плохо), хотя событие OnClick и происходит.

Прошу совета как поступить:
- оставить как есть (не прорисовывается нажатие и ладно);
- уйти от TToolBar + TToolButton, заменить на TButton, например, и потом приклеивать к ней самодельный TPopupMenu;
- может есть что-то, чего я не знаю, что позволит все таки осуществить задуманное;
...
Рейтинг: 0 / 0
TToolBar + TToolButton + DropDownMenu (с ним и без него)
    #40094787
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкинуть всё, рисовать самостоятельно. Это несложно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TToolBar + TToolButton + DropDownMenu (с ним и без него)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]