Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.068 c
4-1114963106
XCept.ion
2005-05-01 19:58
2005.06.29
Встраивание формы в таскбар


6-1111118939
TankMan
2005-03-18 07:08
2005.06.29
Хотелось бы узнать алгоритм поиска компьютеров в сети...


8-1109931722
Gear
2005-03-04 13:22
2005.06.29
Проблема с ACM


14-1117093103
Drakosha
2005-05-26 11:38
2005.06.29
bat cmd файлы


14-1117267775
vajo
2005-05-28 12:09
2005.06.29
монтаж сети