アクセラレータを使うわけですから、
WM_COMMANDそのもののハンドラを用意するわけではないはずです。
アクセラレータエディタに追加したCtrl+Aコマンド上で
右クリックして「ハンドラの追加」みたいな操作はできないのでしょうか?
手作業で追加するなら、
class CxxDlg
{
...
afx_msg void OnMySelectAll(); // 追加
};
BEGIN_MESSAGE_MAP()
...
ON_COMMAND(ID_MY_SELECT_ALL, OnMySelectAll) // 追加
END_MESSAGE_MAP()
void CxxDlg::OnMySelectAll()
{
// Ctrl+Aの処理
}
でできないですかね。
(関数名とコマンドIDはご自身で定義したものを当てはめて下さい。)
~Dlg.cppのプロパティの「イベント」で(項目別であれば最初の方に)
アクセラレータに定義したIDが表示されると思います。
その「COMMAND」を追加するだけです。
dairygoodsさん、NEG(ねぐ)さん、ありがとうございます。
どちらの方法でも同じコード編集へたどりつけました。
が、、やはりつかまえられず(ToT
**
void C~Dlg::OnAccelerator1()
{
int i=0; //とりあえず。ここにブレークポイントをはる
}
**
いくらC~dlg上で「Ctrl+A」を連打(^^;)してもブレークポイントに
ひっかかりません。ということはリソース追加の方法が悪いのか。。と
思うのですが、以下でよいと思うのですが・・
**
ID 修飾子 キー タイプ
ID_ACCELERATOR1 Ctrl A VIRTKEY
**
あと問題があるとしたらどこでしょうか?
>それ以前にm_hacには0が返ってきてしまっているようです(TT
こっちの件の方も解決してるのでしょうか?(?_?)
>>それ以前にm_hacには0が返ってきてしまっているようです(TT
>こっちの件の方も解決してるのでしょうか?(?_?)
解決していませんでした!やはり0が返ってきています。
ということはロード自体に失敗している・・?
GetLastErrorでエラーを確認してみてください。
GetLastError!こんな便利な関数があったんですね。
知らなかった・・
エラー結果は
コード=1814
内容=指定されたリソース名がイメージ ファイルに見つかりません。
リソースの作りかたがおかしいのかなぁ・・
リソースの作り方がおかしかったです。
エラーメッセージの言うとおり、、リソースIDが違ってました(--;
ケアレスミスにより遠回りしましたが、GetLastErrorなどニューアイテムが
増えました♪みなさま、ありがとうございました(__