Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Menu.DefaultItem - невозможно снять   Найти похожие ветки 

 
Vladimyr ©   (2004-07-12 12:33) [0]

Привет всем, пробовал ли кто-нибудь использовать у меню свойство DefaultItem ?
Дело в том, что, изменяя его в runtime, я с удивлением обнаружил, что могу установить его для любого элемента меню, но не могу снять!
Присваивание PopupMenu1.Items[n].DefaultItem := false не даёт абсолютно никакого эффекта!
В отчаянии я даже пытался оттрассировать функцию SetState, и обнаружил, что она работает совершенно нормально, соответствующий бит у fState сбрасывается.
(то есть если fState был 4104, то стал 8, и т.п.)


 
Vladimir Kladov   (2004-07-12 15:21) [1]

наверное, надо обновить menu bar.


 
Vladimyr ©   (2004-07-13 00:47) [2]

Попробовал - безрезультатно.
Да и не логично использовать процедуру RedrawFormMenuBar для обыкновенного PopupMenu.
И кстати, жирнеют пункты меню нормально, безо всякого обновления...


 
z007   (2004-07-13 23:47) [3]

Надо принудительно заставить перерисовать и пересчитать нужный пунтк меню. При изменении сделать Visible:=False, Затем - True.
Все.
(Если не известен нужный пункт... ищите или перебирайте все)


 
Vladimyr ©   (2004-07-14 03:05) [4]

Да, помогло... Как всё просто! Жаль, этого кода нет в KOL.pas...
Спасибо огромное.


 
Vladimir Kladov   (2004-07-14 16:27) [5]

Какой код? Ладно, я сам посмотрю. Мне никогда не приходило в голову в run-time менять Default. Не думаю, что это - способ облегчить работу пользователя с интерфейсом. Интерфейс должен работать на уровне мышечно-моторных функций. А если сейчас default - это одно, через секунду - другое, то это как-то не очень.


 
Vladimyr ©   (2004-07-15 03:28) [6]

После изменения defaultitem воткнуть:
Visible := false;
Visible := true;

ВСЁ! :)

А для пользователя удобно, когда отмеченный радио-итем тут же  жирнеет...


 
z007   (2004-07-18 11:38) [7]


> После изменения defaultitem воткнуть:

Зачем?
Будет ли это "в духе kol"?


 
Vladimir Kladov   (2004-07-18 11:44) [8]

Конечно не будет. Поэтому я решил просто добавить комментарий к свойству 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-19 20:11) [9]

В точку.



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1107235159
Naum
2005-02-01 08:19
2005.02.13
Вопрос по поводу default


14-1106648618
AlexG
2005-01-25 13:23
2005.02.13
Astrosoft Development - кто-нибудь может отзыв о ней оставить?


3-1105535944
Doctor Deejay
2005-01-12 16:19
2005.02.13
Как можно сделать сортировку в TTable без применения индексов?


11-1090955253
Владимир
2004-07-27 23:07
2005.02.13
Автозапуск программы


3-1105986233
KristinA
2005-01-17 21:23
2005.02.13
Kak s4itat bazu dannih do togo kak form1 pojavitsja??