Как использовать CImageList - PullRequest
1 голос
/ 16 мая 2009

Я хочу, чтобы в элементе управления моего дерева отображался элемент со значком папки рядом с ним. Итак, я написал этот кусок кода:

HBITMAP hFolderBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),_T("info.bmp"),IMAGE_BITMAP,20,20,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

if(hFolderBitmap)
{
    cil.Create(20,20,ILC_COLOR32,0,5);

    bmp.FromHandle(hFolderBitmap);
    cil.Add(&bmp,RGB(255,0,255));
}

GetTreeCtrl().SetImageList(&cil,TVSIL_NORMAL);
hrootFolder = GetTreeCtrl().InsertItem(_T("Subscriptions"),0,0,TVI_ROOT);

но это не добавляет значок папки рядом с меткой моей подписки. он работает правильно, но не отображает изображения.

Ответы [ 2 ]

0 голосов
/ 16 мая 2009

вместо использования:

bmp.FromHandle (hFolderBitmap);

Я должен был использовать:

bmp.Attach (hFolderBitmap);

0 голосов
/ 16 мая 2009

Я использую это:

UINT uiBmpId = theApp.m_bHiColorIcons ? 
    IDB_MACROBROWSE_IMGLIST_HQ : IDB_MACROBROWSE_IMGLIST;

CBitmap bmp;
if( !bmp.LoadBitmap( uiBmpId ) )
{
    ASSERT( FALSE );
    return;
}

BITMAP bmpObj;
bmp.GetBitmap (&bmpObj);

UINT nFlags = ILC_MASK;
nFlags |= (theApp.m_bHiColorIcons) ? ILC_COLOR24 : ILC_COLOR4;

m_imageList.Create( 16, bmpObj.bmHeight, nFlags, 0, 0 );
m_imageList.Add( &bmp, RGB (255, 0, 255) );

GetTreeCtrl().SetImageList (&m_imageList, TVSIL_NORMAL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...