![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
おせわになります。
C++6.0 MFC で開発しております。
現在,CTreeCtrlで、下記のような画像付き(●:画像)のツリーを表示しています。
それぞれのノードをクリックすると、画像:●が★に変わります。
●A-●A_b
-●A_c
-●A_c_1
-●A_c_2
そこで、A_c_1のノードだけを無効(バックに灰色がかかったような状態で、クリックしても反応しない。)にしたいのですが、どのようにすればよいでしょうか?
また、一つのノードだけ、無効にすることができないのであれば、
画像(●)とテキスト内容(A_c_1)を灰色をかけるにはどのようにすればよいでしょうか?
お手数ですが、なにとぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
>それぞれのノードをクリックすると、画像:●が★に変わります。
別のノードをクリックすると、画像はどうなるのでしょう?
では、本題。
>そこで、A_c_1のノードだけを無効(バックに灰色がかかったような状態で、クリックしても反応しない。)にしたいのですが、どのようにすればよいでしょうか?
無効表示(グレー表示)にする場合、画像の方は予め用意してImageListに入れておくことになるかと思います。
クリックに反応しない。というのが、どこまでのことを指すのが不明ですが…
TVN_ITEMCHANGINGかTVN_SELCHANGINGのハンドラ作成して、TRUEを返却することで変更/選択をキャンセルすることができるかと。
# 親ウィンドウのOnNotify()で処理…でしょうか。
>また、一つのノードだけ、無効にすることができないのであれば、
>画像(●)とテキスト内容(A_c_1)を灰色をかけるにはどのようにすればよいでしょうか?
画像については先の通り。
テキスト内容に関してはカスタムドローで対応できるかと思われます。
http://www.kumei.ne.jp/c_lang/sdk3/sdk_262.htm
こちらも親ウィンドウのOnNotify()でしょうか…
dwDrawStageがCDDS_PREPAINTの時にCDRF_NOTIFYITEMDRAWを返却すると、各ノードの描画の際に通知が来ます。
dwItemSpecに対象ノードのHTREEITEMが入って通知されるようですので、
GetItem()なりでノードを取得可能でしょう。
その上で、clrTextとclrTextBkに色を設定すればよろしいかと。
# EnableWindow()相当ならば…GetSysColor()辺りで取得できます。
ご返事ありがとうございます。
Ctreectrlのメンバ関数では、やはりそのようなのはないのですね。。。
教えて頂いた方法をためします。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- XML マスターノード 1 2023/03/14 10:38
- PowerPoint(パワーポイント) パワーポイント アニメーション効果で、テキストと同時に画像を表示させる方法を教えてください 2 2022/09/12 21:06
- 工学 電気関係のテキストにて以下の問題が分からず、回答をお願いします 【問題文:ブレーカーがトリップしてい 3 2023/05/22 10:43
- その他(ブラウザ) テキストを入れるときの縦線の点滅がそれ以外のブラウザ上にも表れます。 1 2022/07/29 21:55
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- オンラインゲーム マインクラフト(java版、v1.19.2) realms に接続できません 6 2022/11/08 14:10
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsのDOMDocumentで要素のText...
-
C言語のプログラムを教えてくだ...
-
TreeViewの再表示のちらつきを...
-
CPUの考え方を教えてください ...
-
VisualBasic.net(2008) ツリー...
-
コンテキストメニュークリック...
-
昔Winnyってありましたけど、あ...
-
複数のマックPCによる数値計算...
-
ルート要素ノードが2個ある場合?
-
XMLで要素が記述された順番に意...
-
XMLファイル内のデータ(値)を変...
-
VBSでxmlの値を書き換えたい
-
Access VBAでXMLが読み込めない
-
UTF-8でエンコーディングとはど...
-
XMLを出力する時のエラー原因
-
東芝のDynabookなのですがアン...
-
XML、XSLTの適応エラー(IEから...
-
【アプリ開発】日本語を含むXML...
-
XMLDocumentでスキーマを無視し...
-
ある文字列を含むノードが存在...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
あるノードリストに、特定の名...
-
同じタグ名の項目取得
-
コンテキストメニュークリック...
-
ノードとは
-
XML文書の指定した属性値を持つ...
-
ツリービューのノードをダブル...
-
2分探索木の高さを求めるプロ...
-
C# TreeView 効率良いノード追...
-
VB6.0でDOMを使用して...
-
スケールフリーネットワークをC...
-
C#でtreeviewの指定ノードを選...
-
複数のマックPCによる数値計算...
-
TreeViewに重複する値をセット
-
ツリービューの使い方が・・・
-
各ノードの行数取得
-
TreeViewの再表示のちらつきを...
おすすめ情報