ACCELERATORSに関しての質問です。

[戻る]
孝仁 2005/05/22(日) 17:21:33
MFC VC++6.0 WindowsXP SID

初めて投稿いたします。
只今、MFCでエクスプローラー風のシステムを作成しています。
そこで今リソースのACCELERATORSの設定についてわからないことがありまして
質問いたします。

通常のエクスプローラはALT+Fでファイルのメニューが開き、
そこで例えばDボタンを押すと削除処理を行えます。

この設定をACCELERATORSのDボタンの設定を行いたいのですが、
上手く書き方がわかりません。
少し説明がわかりずらいかも知れませんが、詳しい方教えてください。
下記の設定が私の書いたものです。

IDR_MAINFRAME ACCELERATORS 
BEGIN
    "D",  ID_DLETE,   VIRTKEY
END

シャノン 2005/05/22(日) 17:41:48
エクスプローラのコレはアクセラレータじゃなくて、単なるショートカットキーではな
いでしょうか。
ご存知かもしれませんが、メニューの文字列に & を入れておきます。

削除(&D)

とか書くと、D の下に線がつきます。

孝仁 2005/05/22(日) 21:27:30
シャノンさんご意見ありがとうございます。
ショートカットキーの定義とは、リソースファイルで行うのでしょうか?
すみません初心者なので、イマイチ理解していないのです。
最終的には、ALT+Fでメニューのファイルの垂れ幕を開き、
そこの状態でDを押すと削除処理を行いたいのです。
それらの定義はリソースファイルに記述可能なのでしょうか

PATIO 2005/05/23(月) 10:30:56
メニューの編集を自分でした事があればわかりますが、
メニューの項目の設定時にメニューの文字列にシャノンさんの指摘した方法で
文字列を設定すれば、そのメニュー項目のショートカットキーが設定できます。
リソースファイル上で設定可能なのかと質問に対する答えは、YESです。
まあ、やろうと思えばプログラム上からでも出来ますけれど。
VC6を使っているなら素直にリソースエディタでメニューの編集をすれば、
何も悩む必要は無いような気がします。

むろん、リソースファイルに直接記述する事も出来ますよ。
リソースファイル内のMENUを定義する所で指定するだけです。
どうしてもリソースファイルをエディタで触りたいのであれば、
一度、VCのアプリケーションウィザードで作成させたSDIのプロジェクトを作成して
リソースファイルの内容を確認する事をお勧めします。
実際にビルドして出来た実行ファイルと突き合せてみれば確認できるはずです。

古いスレッドには追加発言できません。