ツリービュー展開メッセージ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
オカピーα
記事: 120
登録日時: 8年前

ツリービュー展開メッセージ

#1

投稿記事 by オカピーα » 7年前

Win32APIでツリービューマスターを夢見るオカピーです。
現在ツリービューをつくっているのですが、項目が展開されるときは何のメッセージがくるのでしょう?
調べてみると「TVIS_EXPANDEDONCE」メッセージがあったのですが
どうやらツリービューの左の「+」ボタンを押したときはTVIS_EXPANDEDONCEメッセージはこないようです。
(通常のダブルクリック展開では来ました)

左の「+」ボタンクリックとダブルクリック展開の両方に対応するにはどうしたらいいのでしょうか?
どなたか教えてください。
C,C++,C#,これらを極めることを「3C政策」と言う

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: ツリービュー展開メッセージ

#2

投稿記事 by YuO » 7年前

MSDNは読んだ方が良いですよ。

TVIS_EXPANDONCEはメッセージではなく状態フラグです。
その名の通り,「少なくとも一度開かれたことがある」ことを意味します。
# 実際には,閉じられるとこのフラグは落ちるようですが。

Tree View通知メッセージ一覧を見て調べれば,TVN_ITEMEXPANDINGTVN_ITEMEXPANDEDに辿り着きます。
Common Controlsの通知はWM_NOTIFYメッセージとして通知されますから,LPARAMの値をNMHDR *にキャストして,codeの値を調べることになります。
# 最終的にはNMTREEVIEW *にキャストすることになります。

オカピーα
記事: 120
登録日時: 8年前

Re: ツリービュー展開メッセージ

#3

投稿記事 by オカピーα » 7年前

返信ありがとうございます。
取り合えずTVN_SINGLEEXPANDというメッセージを見つけたので
やってみたところ出来ました。
お忙しいなかありがとうございました。
C,C++,C#,これらを極めることを「3C政策」と言う

閉鎖

“C言語何でも質問掲示板” へ戻る