ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

MainMenu でショートカットのある項目を探す 

更新 : 2009/04/08

 



解説:
GUI を使ったアプリケーションでは MainMenu は当たり前のように出てきます。サブメニューも簡単に作れますので、通常は問題なく利用できると思います。ところがファイルの履歴を動的に表示するなどを考えていくと、とたんに難しくなります。そうした場面に対応するためにも TMenuItem,  Items などの概念をしっかり掴んでおいてください。

使用例:
以下の例では、作成したメニューの中からショートカット F3 が割り当てられた項目を調べ、その名前を返します。

準備として MainMenu, Label, Button を適当に配置してください。
MainMenu1 には、ファイルメニューを作成して、[開く(O)][上書き保存(S)][閉じる(C)] のコマンドを作ってください。名前は、各々 Open1, Save1, Close1 とします。 Open1 の ShortCut 値を F3 とします。

Button1 をクリックすると、ショートカット F3 を持つメニュー項目を探し、Label1 に見つけたメニュー項目の名前を表示します。ショートカットキーは仮想キーコードを指定しています。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    // FindItem メソッドはメニュー(サブメニュー)項目を検索して返します。
    // ショートカットキーは仮想キーコードを指定。
   
TMenuItem *itemName = MainMenu1->FindItem(VK_F3, fkShortCut);

    if (itemName != NULL) Label1->Caption = itemName->Name;
    else                          ShowMessage("Nothing");
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.