|
TToolBar + TToolButton + DropDownMenu (с ним и без него)
|
|||
---|---|---|---|
#18+
Добрый день. Имеем: - D7; - форма с TImage, поверх которого разбросаны несколько десятков TToolBar Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
- на каждой одна единственная TToolButton Код: pascal 1. 2. 3. 4. 5. 6. 7.
Жило это все довольно долго, по мере жизни на TImage добавлялись новые TToolBar'ы. Настал момент "борьбы" за свободное место. Т.к. у некоторых TToolButton.DropDownMenu есть всего один TMenuItem, то захотелось сделать финт - для таких TToolButton оставлять создание и присвоение DropDownMenu (т.к. оно используется несмотря на количество TMenuItem'ов), а вот Style := tbsButton; В результате где несколько пунктов меню - все осталось по-прежнему, а где один - кнопка выпадающего меню рисоваться перестала. Занятого места стало меньше, свободного больше. Но, как обычно, появился побочный эффект - при нажатии на такую кнопку выпадает меню с одним пунктом, а должен отрабатывать OnClick. Если же установить AutoPopup := False, то меню не появляется (это хорошо), но при этом нажатие кнопки не отрисовывается (это плохо), хотя событие OnClick и происходит. Прошу совета как поступить: - оставить как есть (не прорисовывается нажатие и ладно); - уйти от TToolBar + TToolButton, заменить на TButton, например, и потом приклеивать к ней самодельный TPopupMenu; - может есть что-то, чего я не знаю, что позволит все таки осуществить задуманное; ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2021, 12:12 |
|
|
start [/forum/topic.php?fid=58&msg=40094772&tid=2037057]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 153ms |
0 / 0 |