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

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

TAction, TActionMenuBar [D7]


zivan ©   (2008-08-12 16:11:00) 

В одно из меню в TActionMenuBar, динамически добавляются новые записи TAction, хочу на всех них сделать Radio переключатель, что бы можно было отметить только один из пунктов. Как этого добиться? (Я подозревая что надо что-то делать с AutoCheck и еще что-то, но я никак не придумаю)


zivan   (2008-08-12 18:06:00) [1]

Если при создании устанавливаю:
GroupIndex, AutooCheck и Checked — тогда получаю AV. Стоит отключить Checked или GroupIndex то все работает без ошибок, но понятное дело, нужного функционала в таком случае нет.


stas   (2008-08-12 17:36:00) [2]

У меня работает нормально, правда в Design-time создавал.
А это в момент выбора пункта меню срабатывает или при присвоении свойства Checked?


zivan   (2008-08-12 17:31:00) [3]

В OnExecute примерно такое:
ShowMessage(THackMenuBar(Menu).FSelectedItem.Caption);

Но речь не об этом. Даже убрав все из OnExecute (Оставил только Exit), у меня получается при установленном GroupIndex AV-ошибка.


stas   (2008-08-12 17:13:00) [4]

а что в OnExecute?

P.S.   if SomeBoolValue then
    DynAction.Checked := True;

Можно упростить DynAction.Checked :=SomeBoolValue


zivan   (2008-08-12 17:10:00) [5]

Пробовал я это. Но после установки GroupIndex отличного от нуля полчаю AV-ошибку. Код добавления:

with ActionManager.ActionBars[1].Items[3].Items[5].Items.Add do
begin
  DynAction := TAction.Create(Self);
  with DynAction do
     GroupIndex := 1;
     OnExecute := _OnExecute;
     AutoCheck := True;
  end;
  Action := DynAction;
  Caption := '.....';
  if SomeBoolValue then
     DynAction.Checked := True;


Без выделенной строки все работает нормально, зато в работе при обработке _OnExecute получатся AV-шоибка.

Но мне нужно уже во время добавления отметить один из пунктов, а тут такая ошибка. Что сделать?


stas   (2008-08-12 16:34:00) [6]

GroupIndex


Наверх

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