Главная страница
    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.041 c
14-1117742939
VictorT
2005-06-03 00:08
2005.06.29
Просто интересно стало... увидел баннер на сайте


4-1115384854
webpauk
2005-05-06 17:07
2005.06.29
Изменение имени программы


1-1118207295
Коля
2005-06-08 09:08
2005.06.29
Создание компонентов Событие OnChange Для TEdit


3-1116259401
hjvd
2005-05-16 20:03
2005.06.29
перенос проги с БД с компа на комп


14-1117827326
Alx2
2005-06-03 23:35
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский