開発環境は Windows XP Home SP2、VC++2003(SDK) です。
[質問]
ツリービューで編集状態にしてエディットボックスにしたときの
ESCキーとEnterキーはどのように取得すれば良いですか?
分かる方がいましたら教えてくれますか。
お願い致します。
LVN_ENDLABELEDIT で処理するだけでは不足?
>LVN_ENDLABELEDIT で処理するだけでは不足?
不足というよりは Enter キーで編集完了にしたり、
ESC キーで編集の取り消しを行いたいのです。
ちょうどエクスプローラと同じような動作です。
何か情報をお持ちの方が居りましたら教えて下さい。
お願いします。
「ダイアログに入力を取られて困ってる」と脳内補完した上での回答
----------------
WNDPROC proc_ = NULL;
LVN_BEGINLABELEDIT処理() {
// HWND tree; ツリービューのハンドル
HWND wnd = SendMessage(tree, TVM_GETEDITCONTROL, 0, 0);
proc_ = SetWindowLongPtr(wnd, GWLP_WNDPROC, &WindowProc);
}
LRESULT CALLBACK WindowProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp) {
LRESULT lr = 0;
switch (msg) {
case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
default:
lr = CallWindowProc(proc_, wnd, msg, wp, lp);
}
return lr;
}
----------------
ツイート | ![]() |