掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ツリービューコントロールでアイテムの展開を捕らえるには? (ID:69641)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
gak さん 丁寧な返信、ありがとうございます。 >TVN_ITEMEXPANDEDW にしてみ。 試してみます!(すみません、今、手元に開発環境がないところに いるので、試すのが明日になってしまいます。。。) >基本的に、頭が TVM となっているのは「ツリービューに対して命令する時に使用されるメッセージ識別子」で、 >頭が TVN となっているのは「ツリービューからのイベント発生を通知する時に使用される識別子」。 すみません、私のやりたいことを正しく書けていませんでした。 申し訳ありません。 今回の実装では、「展開を察知して、場合によっては展開させない」ことが 最終目的でして、展開される前に阻止するには、TVM_EXPANDを捕まえて 破棄してやればよいのでは、と考えたため、TVMを捕まえようと していました。 (TVN系のメッセージなら、名前からしてTVN_ITEMEXPANDINGが 「展開した」ではなく「展開しようとしている」なのかと思って フォルダ選択ダイアログのWM_NOTIFY内で捕まえようとしてみましたが、 これも捕まえることができず、動きを確認することができませんでした。) >一応書いておくと、ツリービューのプロシージャで >LRESULT CALLBACK WindowProc (HWND, UINT uMsg, WPARAM LPARAM) { > // 提示ソースのように WM_NOTIFY 内じゃない > if (uMsg == TVM_EXPAND) { } >} >とすれば(TVM_EXPAND が投げられているなら)捕獲可能なハズ これも試したのですが、捕まえられませんでした。 こちらからTreeView_Expandマクロを発行したときは捕まえられましたので やはり、gakさんのおっしゃるとおり、ツリービューが自分を操作するのに いちいちメッセージ飛ばしたりしないんですね。 コントロールが動くためにはすべてメッセージが絡むと思っていました。 勉強になりました。 自分の中でとても納得してしまったので、「解決」にしたいところなのですが、 明日TVN_ITEMEXPANDEDWを試してみたいので、また書き込みをさせてください。 gakさん、ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.