![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Menu.DefaultItem - невозможно снять [Delphi, Windows]
Vladimyr © (2004-07-12 12:33:00)Привет всем, пробовал ли кто-нибудь использовать у меню свойство
DefaultItem?
Дело в том, что, изменяя его в runtime, я с удивлением обнаружил, что могу установить его для любого элемента меню, но не могу снять!
ПрисваиваниеPopupMenu1.Items[n].DefaultItem := falseне даёт абсолютно никакого эффекта!
В отчаянии я даже пытался оттрассировать функциюSetState, и обнаружил, что она работает совершенно нормально, соответствующий бит уfStateсбрасывается.
(то есть если fState был 4104, то стал 8, и т.п.)
z007 (2004-07-19 20:11:00) [1]В точку.
Vladimir Kladov (2004-07-18 11:44:00) [2]Конечно не будет. Поэтому я решил просто добавить комментарий к свойству DefaultItem:
|<br>If you change DefaultItem at run-time and whant
to provide changing its visual state, recreate the item first resetting
Visible property, then setting it again.
z007 (2004-07-18 11:38:00) [3]
> После изменения defaultitem воткнуть:
Зачем?
Будет ли это "в духе kol"?
Vladimyr (2004-07-15 03:28:00) [4]После изменения defaultitem воткнуть:
Visible := false;
Visible := true;
ВСЁ! :)
А для пользователя удобно, когда отмеченный радио-итем тут же жирнеет...
Vladimir Kladov (2004-07-14 16:27:00) [5]Какой код? Ладно, я сам посмотрю. Мне никогда не приходило в голову в run-time менять Default. Не думаю, что это - способ облегчить работу пользователя с интерфейсом. Интерфейс должен работать на уровне мышечно-моторных функций. А если сейчас default - это одно, через секунду - другое, то это как-то не очень.
Vladimyr (2004-07-14 03:05:00) [6]Да, помогло... Как всё просто! Жаль, этого кода нет в
KOL.pas...
Спасибо огромное.
z007 (2004-07-13 23:47:00) [7]Надо принудительно заставить перерисовать и пересчитать нужный пунтк меню. При изменении сделать
Visible:= False, Затем -True.
Все.
(Если не известен нужный пункт... ищите или перебирайте все)
Vladimyr (2004-07-13 00:47:00) [8]Попробовал - безрезультатно.
Да и не логично использовать процедуруRedraw FormMenuBarдля обыкновенного PopupMenu.
И кстати, жирнеютпункты меню нормально, безо всякого обновления...
Vladimir Kladov (2004-07-12 15:21:00) [9]наверное, надо обновить menu bar.