
お世話になっております。
WINAPIにて、チェックボックスつきのツリービューを作っているのですがした処理が出来なくて困っております。(環境:BCC)
わかる方がおられれば答えてもらえないでしょうか?
親アイテムにチェックが付いたとき、子アイテム全てにチェックがつく。(Exceの日付フィルタと同じ動作)
子ウィンドウのチェックが一個でもはずれると親ウィンドウのチェックが■とかになるようにするにはどのようにすれば出来るのでしょうか?
(全部はずれると、親のチェックもはずれる)
下記サイトを参照した限りではツリービュー自体はそんな処理はしてくれなさそうなのですが。
サブクラス化とかして、チェックイベント拾って、子ウィンドウにもチェックいれるとかの処理を自作しないといけないのでしょうか?
http://yokohama.cool.ne.jp/chokuto/urawaza/api/i …
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
チェックボックスの状態が変わったりすると、親ウィンドウに
TVN_ITEMCHANGEDやTVN_ITEMCHANGINGが飛んできます。
そのメッセージを契機にHTREEITEMから、
TreeView_GetCheckState()で該当のアイテムのチェックボックスの状態が取得できます。(NMTVITEMCHANGE構造体のuStateNewからも取れると思いますが)
さらに、TreeView_GetChild()で子が、TreeView_GetParent()で親が、TreeView_GetNextSibling()/TreeView_GetPrevSibling()で兄姉が取得できますので、
順次チェックボックスの状態の取得やTreeView_SetCheckState()/TreeView_SetItemState()でチェックボックスの設定が可能かと思います。
TreeView_SetItemState()のstateでINDEXTOSTATEIMAGEMASK()を使うことでチェックボックスのグレー表示なども可能かと。
# ListViewはそこそこ触ったことありますが、TreeViewはあまりさわったことないので、詳しい処理内容はちょっと…
# 検索時のキーワードにくらいはなるでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) スプレッドシートのチェックボックスとフィルタを連携させたい 2 2022/09/26 18:02
- Excel(エクセル) スプレッドシートのGASでチェックボックスのチェック全てを外したい 1 2022/09/13 17:09
- JavaScript GASでチェックボックスを一括offしたい 1 2022/09/13 19:54
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 2 2022/05/04 16:17
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 3 2022/05/04 17:55
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- フリーソフト libreoffice drawのツールバーのチェックが外れてしまう 1 2022/10/04 22:02
- Access(アクセス) アクセスで、androidのスマホサイズのフォームは作れますか?テキストとチェックボックスだけのフォ 1 2023/05/31 00:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
-
ウィンドウのつかみ方がよく分...
-
javascriptで開いたウィンドウ...
-
VBScriptでリンクをクリックし...
-
せっかく開いたウィンドウが閉...
-
ポップアップと作業ウィンドウ...
-
小さな別ウインドウを開いて、...
-
画面だけのウィンドウを開きた...
-
フォームでCGIにとばした処理結...
-
HPウィンドウが1つしか開か...
-
子ウィンドウから親ウィンドウ...
-
ブラウザの×ボタンを効かなくす...
-
デスクトップ画面を4分割するには
-
window.onloadの実行と抑止の分...
-
1クリックでモーダルを開いてか...
-
ウィンドウの2重起動を防止したい
-
リンク時、親ウインドウを最前...
-
IEでのみ発生するJavaScriptエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBAで任意のウインドウのサイズ...
-
VBの画面で、全ウィンドウを一...
-
デスクトップ画面を4分割するには
-
ポップアップと作業ウィンドウ...
-
ウィンドウの2重起動を防止したい
-
1クリックでモーダルを開いてか...
-
子ウィンドウより親ウィンドウ...
-
javascriptで開いたウィンドウ...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
ウィンドウ名からウィンドウオ...
-
子ウィンドウの存在確認
-
ブラウザ(IE)からエクスプロー...
-
子ウィンドウから親ウィンドウ...
-
履歴を残さないResponse.Redire...
-
IEで新しいウインドウを開き、...
-
子ウィンドウを常に手前表示、...
-
インタネットからPDFファイルだ...
-
孫ウインドウを閉じたら親をリ...
おすすめ情報