Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Как динамически создавать кнопки с событиями для 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.043 c
1-1118260453
Gopher
2005-06-08 23:54
2005.06.29
Синтаксис


14-1117743898
Олег-Николаев
2005-06-03 00:24
2005.06.29
Сайт


4-1115035278
Виталик
2005-05-02 16:01
2005.06.29
проблема инициализации переменной


1-1117931633
grol
2005-06-05 04:33
2005.06.29
Работа с 3-х мерными массивами!


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский