ツリーコントロールにアイテムが表示されない。 – プログラミング – Home

ツリーコントロールにアイテムが表示され...
 
通知
すべてクリア

ツリーコントロールにアイテムが表示されない。


EIGHT
 EIGHT
(@EIGHT)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

はじめて質問させて頂きます。
VC++6でダイアログベース(MFC)のプロジェクトにツリーコントロールを貼り付けています。
OnInitiDialog()に下記コードを書いて、テキストの前にアイコンを表示しようとしてますが、
テキストは表示されるのですが、アイコンが表示されません。
(テキストの前にはアイコンのスペースらしき空白は表示されてます。)
以前、似たような質問があったようなので、いろいろ改良してみましたが
上手くいかないので質問させて頂きました。
よろしくお願いいたします。
-------------------------------------------------------------------
CTreeCtrl m_tree;

OnInitiDialog(
CImageList m_ImageList;
m_ImageList.Create(16, 16, ILC_MASK, 3, 2);

//イメージリストにアイコンをセット
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
//ツリーコントロールにイメージリストをセット
m_tree.SetImageList(&m_ImageList,LVSIL_NORMAL);

     //ツリーコントロールにアイテムを挿入
TV_INSERTSTRUCT treeitem;
treeitem.hParent=NULL;
treeitem.item.mask=TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
treeitem.item.pszText=テスト1;
treeitem.item.iImage = 0;
treeitem.item.iSelectedImage = 1;
m_tree.InsertItem(&treeitem);
)


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> OnInitiDialog(
> CImageList m_ImageList;

このように関数内に定義したオブジェクトは、
その関数を抜ければ破棄されてしまいます。
したがって、ツリーがアイコンを表示しようと思ったときには、
もうそのイメージリストは存在していないことになります。


返信引用
EIGHT
 EIGHT
(@EIGHT)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

dairygoodsさん、返信ありがとうございました。
すごく初歩的なミスをしてしまってたんですね。
教えていただいた通りにすると解決しました。
本当にありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました