|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как итемы с акшенами из PopupMenu загрузить в Bar, загрузить в TActionMainMenuBar
всем привет. стала задача такая: итемы с акшенами из PopupMenu загрузить в TActionMainMenuBar
всё сделал вот только не могу получить TAction от итема из PopupMenu, чтоб присвоить этот Action для TActionClientItem. PopupMenu.Items[i] возвращает TContainedAction а надо бы TAction... помогитя!) мой код: Код:
//------------------------------------------------------------------------------ pm_to_mm procedure pm_to_mm(pm: TPopupMenu; mm: TActionMainMenuBar; mmIndex: integer); { pm - PopupMenu итемы из которого подгружаем в менюху ActionMainMenuBar mm - главное меню ActionMainMenuBar, в менюху которого подгружаем содержимое pm mmIndex - индекс менюхи в которую будем подгружать итемы } begin mi_to_aci(pm.Items, MM.ActionControls[mmIndex].ActionClient); end; //------------------------------------------------------------------------------ mi_to_aci procedure mi_to_aci(mi: TMenuItem; aci: TActionClientItem); var i: Integer; iaci: TActionClientItem; MyAction: TAction; begin aci.Items.Clear; for i := 0 to mi.Count - 1 do begin iaci := aci.Items.Add; // iaci.Action := mi.Action; //Не присваивается Action!!! Action присвоенный к итему в PopupMenu как его присвоить к TActionClientItem??? Как получить Taction от TBasicAction??? //Прописываем все свойсва не через Action а вручную: iaci.Caption := mi.Items[i].Caption; iaci.ImageIndex := mi.Items[i].ImageIndex; iaci.ShortCut := mi.Items[i].ShortCut; iaci.Visible := mi.Visible; // iaci.Enabled := mi.Enabled; //aci не имеет свойства Enabled - полюбому придётся присваивать Action // iaci.OnClick:= mi.OnClick; //aci не имеет события OnClick - полюбому придётся присваивать Action // ShowMessage(mi.Action.Name); //Не возвращает имя акшона if mi.Items[i].Count <> 0 //has SUB-items then mi_to_aci(mi.Items[i], iaci) end; end; |