Win32APIでツリービューマスターを夢見るオカピーです。
現在ツリービューをつくっているのですが、項目が展開されるときは何のメッセージがくるのでしょう?
調べてみると「TVIS_EXPANDEDONCE」メッセージがあったのですが
どうやらツリービューの左の「+」ボタンを押したときはTVIS_EXPANDEDONCEメッセージはこないようです。
(通常のダブルクリック展開では来ました)
左の「+」ボタンクリックとダブルクリック展開の両方に対応するにはどうしたらいいのでしょうか?
どなたか教えてください。
ツリービュー展開メッセージ
Re: ツリービュー展開メッセージ
MSDNは読んだ方が良いですよ。
TVIS_EXPANDONCEはメッセージではなく状態フラグです。
その名の通り,「少なくとも一度開かれたことがある」ことを意味します。
# 実際には,閉じられるとこのフラグは落ちるようですが。
Tree Viewの通知メッセージ一覧を見て調べれば,TVN_ITEMEXPANDINGとTVN_ITEMEXPANDEDに辿り着きます。
Common Controlsの通知はWM_NOTIFYメッセージとして通知されますから,LPARAMの値をNMHDR *にキャストして,codeの値を調べることになります。
# 最終的にはNMTREEVIEW *にキャストすることになります。
TVIS_EXPANDONCEはメッセージではなく状態フラグです。
その名の通り,「少なくとも一度開かれたことがある」ことを意味します。
# 実際には,閉じられるとこのフラグは落ちるようですが。
Tree Viewの通知メッセージ一覧を見て調べれば,TVN_ITEMEXPANDINGとTVN_ITEMEXPANDEDに辿り着きます。
Common Controlsの通知はWM_NOTIFYメッセージとして通知されますから,LPARAMの値をNMHDR *にキャストして,codeの値を調べることになります。
# 最終的にはNMTREEVIEW *にキャストすることになります。
Re: ツリービュー展開メッセージ
返信ありがとうございます。
取り合えずTVN_SINGLEEXPANDというメッセージを見つけたので
やってみたところ出来ました。
お忙しいなかありがとうございました。
取り合えずTVN_SINGLEEXPANDというメッセージを見つけたので
やってみたところ出来ました。
お忙しいなかありがとうございました。
C,C++,C#,これらを極めることを「3C政策」と言う