AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX]アクションリスト(ActionList) 2013/09/21
 
前頁で[Standard]内の「PopupMenu」(ポップアップメニュー)について書きましたので次は、同じく[Standard]内の「ActionList」(アクションリスト)です。
   【Delphi2010の記事はこちら】
   【DelphiXE3[VCLアプリケーション]の記事はこちら】
 

(ヘルプより)
State
ユーザーがクライアントオブジェクトをトリガしたときに、アクションリスト内のアクションが応答するかどうかを示します。
Stateは、System.Actions.TActionListState型で定義されている値のいずれか1つを取ることができます。
asNormal
クライアントオブジェクトまたはショートカットキーによってトリガされると、アクションは通常の応答を実行します。
 
asSuspended
クライアントオブジェクトから起動するよう伝えられても、アクションリスト内のアクションは応答しません。リスト内のすべてのアクションのEnabledプロパティは変化しません。
 
asSuspendedEnabled
クライアントオブジェクトから起動するよう伝えられても、アクションリスト内のアクションは応答しません。リスト内のすべてのアクションのEnabledプロパティは True に設定されます。これは、ActionBarの設計に使用します。
 
ActionListアイコンをダブルクリック、又は、右クリックメニュー「アクションリストの設定」を行うと、アクションリストエディタ「ActionList1の編集」画面が表示されます。

右クリックメニュー「標準アクションの新規追加」、又は、ツールバー上の新規ボタンの右横にある「▼」をクリックを行う事によって、標準アクションを追加する事が出来ます。

又は

しかし表示されるのは

だけで、例えば、編集の中には、お約束の「切り取り」「コピー」「貼り付け」等のようなアクションがありません。ヘルプにも、VCLにあるような「アクションマネージャー」は無い、と記述されています。もしかすると、RegisterActions等を使って独自追加出来るのかもしれませんが、やめておきます。それが本当に普遍的で正しい手法なのか分かりませんので。ここは普通に「新規」で登録しておく事にします。

Nameプロパティを
「Action1」から「ActionEditCut」に変更しています。
ShortCut、Textプロパティを指定していますが、これは、メニュー等でのActionプロパティで指定したものにそのまま反映されます。
 
これは従来と同様です。
 
 
同様に、
Action2 を EditActionCopy、
Action3 を EditActionPaste、
に変更して追加しています。
 
フォーム上に MainMenu1 と Edit1 を貼り付けています。

 
MainMenu1 の項目を下記のようにしています。
MenuItem2〜4 の Actionプロパティをそれぞれ指定すると ShortCut、Textプロパティはアクションリストからそのまま反映されます。

 

 
アクションリストエディタから各アクションを指定し、オブジェクトインスペクタのイベントの OnExecute イベントを記述することにより、メニュー等をクリックしたときに、どのような動作を行わせるのかをプログラミングします。
procedure TForm1.ActionEditCopyExecute(Sender: TObject);
begin
 Edit1.CopyToClipboard ;
end;
 
procedure TForm1.ActionEditCutExecute(Sender: TObject);
begin
 Edit1.CutToClipboard ;
end;
 
procedure TForm1.ActionEditPasteExecute(Sender: TObject);
begin
 Edit1.PasteFromClipboard ;
end;
 
ポップアップメニューや各種ボタン等に割り当てる場合も同様に Actionプロパティを指定するだけです。
 
保存・コンパイル(ビルド)・実行を行います。

正常動作することが確認出来ます。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/09/20
 2013/09/21
▼2013/09/22
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.