リストボックスで「すべて選択」 – 固定ページ 2 – プログラミング – Home

リストボックスで「すべて選択」
 
通知
すべてクリア

[解決済] リストボックスで「すべて選択」

固定ページ 2 / 2

dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

アクセラレータを使うわけですから、
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はご自身で定義したものを当てはめて下さい。)


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 ~Dlg.cppのプロパティの「イベント」で(項目別であれば最初の方に)
アクセラレータに定義したIDが表示されると思います。
 その「COMMAND」を追加するだけです。


返信引用
せんたく
 せんたく
(@せんたく)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

dairygoodsさん、NEG(ねぐ)さん、ありがとうございます。
どちらの方法でも同じコード編集へたどりつけました。

が、、やはりつかまえられず(ToT

**

void C~Dlg::OnAccelerator1()
{
   int i=0;   //とりあえず。ここにブレークポイントをはる
}

**

いくらC~dlg上で「Ctrl+A」を連打(^^;)してもブレークポイントに
ひっかかりません。ということはリソース追加の方法が悪いのか。。と
思うのですが、以下でよいと思うのですが・・

**

ID        修飾子   キー  タイプ
 
ID_ACCELERATOR1 Ctrl    A   VIRTKEY 

**

あと問題があるとしたらどこでしょうか?


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

>それ以前にm_hacには0が返ってきてしまっているようです(TT

 こっちの件の方も解決してるのでしょうか?(?_?)


返信引用
せんたく
 せんたく
(@せんたく)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

>>それ以前にm_hacには0が返ってきてしまっているようです(TT
>こっちの件の方も解決してるのでしょうか?(?_?)

解決していませんでした!やはり0が返ってきています。
ということはロード自体に失敗している・・?


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 GetLastErrorでエラーを確認してみてください。


返信引用
せんたく
 せんたく
(@せんたく)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

GetLastError!こんな便利な関数があったんですね。
知らなかった・・

エラー結果は

コード=1814
内容=指定されたリソース名がイメージ ファイルに見つかりません。

リソースの作りかたがおかしいのかなぁ・・


返信引用
せんたく
 せんたく
(@せんたく)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

リソースの作り方がおかしかったです。
エラーメッセージの言うとおり、、リソースIDが違ってました(--;

ケアレスミスにより遠回りしましたが、GetLastErrorなどニューアイテムが
増えました♪みなさま、ありがとうございました(__


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました