Создаю свой компонент и внутри которого хочу поместить меню и панель с кнопочками с помощью TActionManager.
Это я объявил...
Код
xActionManager: TActionManager;
xActionMainMenuBar: TActionMainMenuBar;
xAction:TAction;
xActionClient:TActionClient;
xActionClientItem:TActionClientItem;
xCollection:TCollection;
xActionBarItem:TActionBarItem;
xActionMainMenuBar: TActionMainMenuBar;
xAction:TAction;
xActionClient:TActionClient;
xActionClientItem:TActionClientItem;
xCollection:TCollection;
xActionBarItem:TActionBarItem;
Перекрыл метод Create...
Где создаю TActionManager, TActionMainMenuBar... один TAction и вставляю его в строчку меню...
Код
constructor TmyComponent.Create(aOwner: TComponent);
begin
inherited Create(aOwner);
xActionManager:=TActionManager.Create(Self);
xActionManager.Name:='ActionManager';
xActionMainMenuBar:=TActionMainMenuBar.Create(Self);
xActionMainMenuBar.Name:='mmb';
xActionMainMenuBar.Parent:=Self;
xAction:=TAction.Create(Self);
xAction.Caption:='aCaption';
xAction.Enabled:=true;
xAction.Visible:=true;
xAction.Name:='aName';
xActionClient:=TActionClient.Create(nil);
FzActionManager.AddAction(xAction,xActionClient);
xActionBarItem:=xActionManager.ActionBars.Add;
xActionBarItem.ActionBar:=xActionMainMenuBar;
xActionBarItem.AutoSize:=false;
xActionClientItem:=xActionBarItem.Items.Add;
xActionClientItem.Action:= xAction;
end;
...
begin
inherited Create(aOwner);
xActionManager:=TActionManager.Create(Self);
xActionManager.Name:='ActionManager';
xActionMainMenuBar:=TActionMainMenuBar.Create(Self);
xActionMainMenuBar.Name:='mmb';
xActionMainMenuBar.Parent:=Self;
xAction:=TAction.Create(Self);
xAction.Caption:='aCaption';
xAction.Enabled:=true;
xAction.Visible:=true;
xAction.Name:='aName';
xActionClient:=TActionClient.Create(nil);
FzActionManager.AddAction(xAction,xActionClient);
xActionBarItem:=xActionManager.ActionBars.Add;
xActionBarItem.ActionBar:=xActionMainMenuBar;
xActionBarItem.AutoSize:=false;
xActionClientItem:=xActionBarItem.Items.Add;
xActionClientItem.Action:= xAction;
end;
...
компилирую ...
..но как только я его бросаю на форму появляется ошибка "Control `` has no parent windows"... (
Что я делаю не так? помогите очень нужно...
Если закомментировать xActionClientItem.Action:= xAction;
компилирую, бросаю на форму... все без ошибок... не удаляя компонент с формы.. раз комментирую строчку ... компилю... смотрю на форму с компонентном там уже появилась кнопока в меню...
Помогите разобраться! Что не так?
Сообщение отредактировано: volvo -