rapidlord
07-08-2004, 03:08 PM
I have inserted image to tabs in tabcontrol of CPropertySheet:
CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);
m_imageList.Create (60,36,ILC_COLOR, 0, 4);
CBitmap bm[4];
bm[0].LoadBitmap(IDB_TAB1);
m_imageList.Add(&bm[0], RGB(0, 0, 0));
bm[1].LoadBitmap(IDB_TAB2);
m_imageList.Add(&bm[1], RGB(0, 0, 0));
bm[2].LoadBitmap(IDB_TAB3);
m_imageList.Add(&bm[2], RGB(0, 0, 0));
bm[3].LoadBitmap(IDB_TAB4);
m_imageList.Add(&bm[3], RGB(0, 0, 0));
pTab->SetImageList (&m_imageList);
pTab->SetItemSize(CSize(60,30));
pTab->SetPadding(CSize(0,0));
TC_ITEM item;
item.mask = TCIF_IMAGE;
for (int j = 0; j < 4; j++)
{
item.iImage = j;
pTab->SetItem (j, &item);
}
-------------------------------------------------------------------------------
Naw i have dinamicly to create images and replace, so i done this:
-------------------------------------------------------------------------------
CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);
CDC* pdc = GetDC();
tabCDC->CreateCompatibleDC(pdc);
tabBmp->CreateCompatibleBitmap(pdc,60,30);
tabCDC->SelectObject(tabBmp);
tabCDC->ExtTextOut(10,10,ETO_OPAQUE,CRect(0,0,60,30),_T("test"),NULL);
CImageList *tmpImageList = pTab->GetImageList();
tmpImageList->Replace(0,&tabCDC->GetCurrentBitmap(), NULL);
-------------------------------------------------------------------------------
but this dont work, problem is probabli in something with CDC, becouse when in Replace function , put some CBitmap loaded from the resource, every it is ok, the image is changed ok.
i realy need help on this, thank you.
CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);
m_imageList.Create (60,36,ILC_COLOR, 0, 4);
CBitmap bm[4];
bm[0].LoadBitmap(IDB_TAB1);
m_imageList.Add(&bm[0], RGB(0, 0, 0));
bm[1].LoadBitmap(IDB_TAB2);
m_imageList.Add(&bm[1], RGB(0, 0, 0));
bm[2].LoadBitmap(IDB_TAB3);
m_imageList.Add(&bm[2], RGB(0, 0, 0));
bm[3].LoadBitmap(IDB_TAB4);
m_imageList.Add(&bm[3], RGB(0, 0, 0));
pTab->SetImageList (&m_imageList);
pTab->SetItemSize(CSize(60,30));
pTab->SetPadding(CSize(0,0));
TC_ITEM item;
item.mask = TCIF_IMAGE;
for (int j = 0; j < 4; j++)
{
item.iImage = j;
pTab->SetItem (j, &item);
}
-------------------------------------------------------------------------------
Naw i have dinamicly to create images and replace, so i done this:
-------------------------------------------------------------------------------
CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);
CDC* pdc = GetDC();
tabCDC->CreateCompatibleDC(pdc);
tabBmp->CreateCompatibleBitmap(pdc,60,30);
tabCDC->SelectObject(tabBmp);
tabCDC->ExtTextOut(10,10,ETO_OPAQUE,CRect(0,0,60,30),_T("test"),NULL);
CImageList *tmpImageList = pTab->GetImageList();
tmpImageList->Replace(0,&tabCDC->GetCurrentBitmap(), NULL);
-------------------------------------------------------------------------------
but this dont work, problem is probabli in something with CDC, becouse when in Replace function , put some CBitmap loaded from the resource, every it is ok, the image is changed ok.
i realy need help on this, thank you.