2010-11-29 12 views
0

私のコントロールにイメージリストを作成しようとしていて、追加のイメージをロードしようとしています。問題は、私が作成したイメージだけが使用され、ロードされたイメージは表示されないということです。CTreeCtrlでビットマップをロードする際の問題

がIMAGE1 1

はIMAGE2 2

がのimage4 4

がIMAGE5 5

m_Bitmap1.LoadBitmap(IDB_BITMAP1); 
m_Bitmap2.LoadBitmap(IDB_BITMAP2); 
m_Bitmap3.LoadBitmap(IDB_BITMAP3); 


m_ImageListTree = new CImageList; 
m_ImageListTree->Create(IDB_BITMAP1, 16, 1, RGB(255, 255, 255)); 
m_ImageListTree->Add(&m_Bitmap2, RGB(255, 255, 255)); 
m_ImageListTree->Add(&m_Bitmap3, RGB(255, 255, 255)); 


while(ItemTree != NULL) 
{ 
    BasicTree->SetItemImage(ItemTree, nCounter, nCounter); 
    ItemTree = BasicTree->GetNextItem(ItemTree, TVGN_CHILD); 
    nCounter++; 
} 

のみIDB_BITMAP1定義定義画像3 3

定義定義定義:ここで私のCCODEありますすべてのツリーレベルで表示されます。何か案は?

答えて

0

実際に私はループに入る前に最初のHTRREITEMを取得しなかったので、ループには決していませんでした。

また、コントロールにリストを作成すると、作成に使用しているビットマップを持つすべての新しい項目が初期化されます。別の画像を指定する必要があるにもかかわらず、挿入または変更時に画像eitehrを設定することができます(挿入するには、TVINSERTSTRUCTWを定義し、画像全体を挿入する前に画像を設定する必要があります)。

関連する問題