ツリービューのマウス移動の下のアイテムの取得方法は?

解決


ぴょぴょ  2007-09-06 20:47:22  No: 66244

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

[質問]
(1)ツリービューでマウスの移動時にメッセージを出したいです。
  マウスが移動した場合はどのように取得しますか?
  サブクラス化などして WM_MOUSEMOVE を使えばいいのですか?
(2)マウスの移動した下にあるアイテム(文字列)を取得するには?
  クリックしないでもマウス座標からアイテムの位置が分かりますか?

上の2つを教えて下さい。
お願いします。


へろり  2007-09-07 00:34:35  No: 66245

できます。

(1)についてはおっしゃる通りサブクラス化で対処できます。

(2)はツリービューにTVM_HITTESTを投げることで対処できます。


ぴょぴょ  2007-09-07 06:55:59  No: 66246

へろりさん。
有り難うございます。

>(1)についてはおっしゃる通りサブクラス化で対処できます。
やっぱサブクラス化しかないんだ。

>(2)はツリービューにTVM_HITTESTを投げることで対処できます。
調べてみました。そしたら
HTREEITEM TreeView_HitTest( HWND hTree, LPTVHITTESTINFO lpHT );
というマクロが存在することが判明しました。
次のサイトを参考にすることで出来そうです。
http://www.kumei.ne.jp/c_lang/sdk2/sdk_115.htm

有り難うございました。


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

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






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