Вниз
Скачать: CL | DM;

Как динамически создавать кнопки с событиями для ActionToolBar?   Найти похожие ветки 

← →
Destroyer ©   (2005-06-04 20:47) [0]

Есть ActionToolBar и ActionManager. Как правильно динамически добавлять и удалять в ActionToolBar кнопки со своими событиями? При использовании:
actiontoolbar1.Action.Create(Form1.ActionManager1);
получается ошибка доступа к памяти.
И возможно ли менять размер картинки ActionToolBar?


← →
Sun bittern ©   (2005-06-04 21:22) [1]

ActionToolBar и ActionManager глючноватые компонентики, советую поискать альтернативу.


← →
Destroyer ©   (2005-06-04 23:09) [2]

А еще какие-нибудь предложения есть?


← →
Abessalom   (2005-06-05 06:36) [3]

Вот это очень неправильно, и не только в этом контексте:
actiontoolbar1.Action.Create(Form1.ActionManager1);

Не совсем понятно, что значит
> менять размер картинки ActionToolBar

Изменить размер картинки (пиктограммы на кнопке) можно установкой ImageList с большими картинками. Как изменить размер кнопок панели, показано в примере

Пример использования Action компонентов:


type
 TXPStyleButton1 = class(TXPStyleButton)
 public
   procedure CalcBounds; override;
 end;

{ TXPStyleButton1 }

procedure TXPStyleButton1.CalcBounds;
begin
 inherited;
 Height := 50
end;

{ TForm1 }

procedure TForm1.ActionExecute(Sender: TObject);
begin
 ShowMessage("ActionExecute");
end;

procedure TForm1.ActionToolBar1GetControlClass(Sender: TCustomActionBar;
 AnItem: TActionClient; var ControlClass: TCustomActionControlClass);
begin
 ControlClass := TXPStyleButton1;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
 Action: TCustomAction;
 ActionClient: TActionClientItem;
begin
 Exit;
 if not Assigned(ActionToolBar1.ActionManager) then
 begin
   ActionToolBar1.ActionManager := ActionManager1;
   ActionManager1.ActionBars.Add.ActionBar := ActionToolBar1;
 end;

 Action := TCustomAction.Create(ActionManager1);
 Action.ActionList := ActionManager1;
 Action.Caption := "My Action";
 Action.OnExecute := ActionExecute;

 ActionClient := ActionToolBar1.ActionClient.Items.Add;
 ActionManager1.AddAction(Action, ActionClient);
end;


← →
Destroyer ©   (2005-06-05 14:16) [4]

Большое спасибо, буду разбираться!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
4-1115042621
Rambo
2005-05-02 18:03
2005.06.29
Права доступа


1-1118309239
Nad89
2005-06-09 13:27
2005.06.29
Удаление динамического компонента


4-1115273947
Алексей
2005-05-05 10:19
2005.06.29
AviStreamGetFrame ошибка


1-1118120445
drAndrey
2005-06-07 09:00
2005.06.29
TreeView и ToolTips


14-1117530340
passlight
2005-05-31 13:05
2005.06.29
Новая Хронология : ваши мнения ?




   Наверх