[delphi-users:2846] TActionMainMenuBarの使い方が分かりません。

371 views
Skip to first unread message

kotto

unread,
Nov 5, 2012, 7:23:21 AM11/5/12
to delphi...@freeml.com
こんにちは、稲富です。

TMainMenuを使ってメニューを作っていたのですが、色を付けたくなって、調べてみたら TActionMainMenuBarを使うところまでは分かったのですが、使い方がまるで分かりません。

TMainMenuではダブルクリックしたらメニューを作成できましたが、
TActionMainMenuBar ではどのようにするんでしょうか?
TActionManagerを使うのでしょうか?

Delphi XE2にサンプルが入っていたら、その場所を教えて欲しいです。

非常に初歩的な質問だと思いますが、よろしくお願いします。


Windows7 64bit+Delphi XE2

DEKO

unread,
Nov 5, 2012, 2:25:52 PM11/5/12
to delphi...@freeml.com
こんにちは。
AFSoft さんの ActionManager の説明ページに詳細があります。

[Delphi2010 アクションマネージャー(ActionManager)]
http://afsoft.jp/program/p11_049.html

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
使い方はいろいろ♪一部のメンバーだけにMLメールを送ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=jeV4a
------------------------------------------------------[freeml byGMO]--

kotto

unread,
Nov 7, 2012, 6:05:08 AM11/7/12
to delphi...@freeml.com
DEKOさん  稲富です。

有り難うございます。Websiteを見て、なんとかやれました。これはサンプルな
いと分からないですね(^^;

画面が最初違うなと思ったのですが、XE2再起動したら、Websiteと同じものに
なっていました。なんでだろう。

何かあったらまたよろしくお願いします。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メールだけでみんなを招待できる便利機能♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=jf0BE
------------------------------------------------------[freeml byGMO]--

kotto

unread,
Nov 7, 2012, 10:13:58 AM11/7/12
to delphi...@freeml.com
稲富です。またまた分からないことが出てきました。

TActionMainMenuBarとTActionManagerについて教えてください。

①TActionMainMenuBarにTActionManagerからドラッグ&ドロップして、メニュー
に文字をおいてから、 AlignをalTopにすると、Heightが28で固定になります。
alNoneならばサイズを変えられるのですが。Heightを細く したいのですが、ど
のようにすればいいでしょうか?

②TActionMainMenuBarのColorMapのColorを変更しても、編集画面では反映される
のに、実行すると、反映されま せん。何かいじらないといけないでしょうか?

③TActionMainMenuBarに配置したメニューがEnable:=false状態になっているので
す。Actionの OnExecuteを書けば、Enableがtrueの動きをするのですが。メ
ニューの中にメニューがあるとやりたいので(わかりにくくてす いません)こ
のクリックできない状況をなんとかする方法を教えてください。

④メニューにチェックを付けたいのですが、Form1.ActionManager1の編集という
画面でAction1のcheckedを trueにしても、文字がへっこむだけで、checkが付き
ません。

沢山ありますが、どうぞよろしくお願いします。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレゼントキャンペーン開催中!くまポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=jf4NF
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Nov 7, 2012, 6:08:38 PM11/7/12
to delphi...@freeml.com
こんにちは。

1.TActionMainMenuBar の Height
メニュー扱いなので、フォントサイズで高さが決定されたと思います。
alNone 時には確かに Height を変更できますが、メニューは縦中央にならないハズです。
alNone 時の Height と同じでいいのなら、Constraints の MinHeight を変更する事で実現できたと思います。

2.ColorMap の Color
フォームに TXPColorMap を貼り、それを TActionMainMenuBar の ColorMap へ割り当てればよいかと。
色の変更は TXPColorMap 側でやってみてください。

3.TActionMainMenuBar のドロップダウンメニュー
TActionManager のアイテムにカテゴリ (Category) を指定します。

例えば [ファイル] メニューのアイテムならば File とします。
すると設定ダイアログの左側に [File] というカテゴリができますので、このカテゴリ自体をドロップします。
[File] カテゴリのアイテムに OnExecute が記述されていなくとも、とりあえずドロップダウンできます。

# AFSoft さんトコにも書いてあった気がするのですが、そういう意味じゃないのでしょうか?

4.メニューのチェック
3.で行ったメニューアイテムにはチェックを入れられます。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
いつでもどこでもメールチェック!freemlのスマートフォンアプリ
http://ad.freeml.com/cgi-bin/sa.cgi?id=jf6RW
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Nov 7, 2012, 6:18:03 PM11/7/12
to delphi...@freeml.com
> 4.メニューのチェック
> 3.で行ったメニューアイテムにはチェックを入れられます。
TActionMainMenuBar 直下のメニューは "押下状態が Checked = True" なので、
あまり見かけない UI ですが、ここに (メニューのような) チェックを入れたいのであれば、
アイコン (画像) を付けてチェック状態を表示するしかないと思います。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日コツコツポイント貯めて電子マネーやギフト券に交換しよう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=jf6Yx
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Nov 7, 2012, 7:02:12 PM11/7/12
to delphi...@freeml.com
> 3.TActionMainMenuBar のドロップダウンメニュー
> 3.TActionMainMenuBarに配置したメニューがEnable:=false状態になっているのです。
>> Actionの OnExecuteを書けば、Enableがtrueの動きをするのですが。
>> メニューの中にメニューがあるとやりたいので(わかりにくくてすいません)
>> このクリックできない状況をなんとかする方法を教えてください。

階層メニューを作りたいという事でしょうか?

[MENU01]
 [MENU01_01]
 [MENU01_02]
 [MENU01_03]
  [MENU01_03_01]
  [MENU01_03_01]

1.サブメニューを作りたいメニューアイテムをクリックして
 オブジェクトインスペクタを表示し Items をダブルクリック。

2.[ActionManager1->Items の編集] ダイアログで
 [追加] ボタンを押してサブメニューを追加。

3.追加したサブメニューアイテムの Action プロパティに
 目的のアクションを割り当てる。

# [構造] ビューを表示しておくと関係が判り易いと思います。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
Wポイントでますますおトク!賢くネットショッピングしよう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=jf78I
------------------------------------------------------[freeml byGMO]--

kotto

unread,
Nov 8, 2012, 4:07:02 AM11/8/12
to delphi...@freeml.com
DEKOさん有り難うございます。稲富です。

1 うまくいきました。
ConstraintsのMaxHeitghtを変更すると、できるみたいです☆

2 うまくいきました。
TXPColorMapというものがあったんですね。初めて知りました☆

3 うまくいきました。
カテゴリをD&Dするのは気がつきませんでした。AFSoftさんのところに書いて
あったらすいません。
構造をいじってやるのでは、メニューの中のメニューが灰色になって(編集の時
は良いのですが、実行するとなる)それで深い断層に行けなくて困って ました。

4 うまくいきました。
Checkを画像で描いて、imagelistにいれて、やったらできました。checkの表示
の仕方がMainmenuと違うんですね。


TMainMenuからTActionMainMenuBarに代入できるような方法があれば、一番楽な
のになあ。一つ一つまた入れていきます。
非常に助かりました!! 有り難うございました。




MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
アイテム満載のクレーンゲーム【クレーン夫人】
http://ad.freeml.com/cgi-bin/sa.cgi?id=jfGuV
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages