ツリービューの編集エディットのESCとEnterキーについて


ぴょぴょ  2007-09-08 19:34:48  No: 66254

開発環境は Windows XP Home SP2、VC++2003(SDK) です。

[質問]
ツリービューで編集状態にしてエディットボックスにしたときの
ESCキーとEnterキーはどのように取得すれば良いですか?

分かる方がいましたら教えてくれますか。
お願い致します。


RAPT  URL  2007-09-18 07:27:17  No: 66255

LVN_ENDLABELEDIT で処理するだけでは不足?


ぴょぴょ  2007-09-18 07:48:16  No: 66256

>LVN_ENDLABELEDIT で処理するだけでは不足?
不足というよりは Enter キーで編集完了にしたり、
ESC キーで編集の取り消しを行いたいのです。
ちょうどエクスプローラと同じような動作です。

何か情報をお持ちの方が居りましたら教えて下さい。
お願いします。


gak  2007-09-19 01:57:17  No: 66257

「ダイアログに入力を取られて困ってる」と脳内補完した上での回答

----------------
  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;
  }
----------------


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加