Windows programiranje:
=============================================================
Kod ispod funkcionise kako treba (nalazi se u klasi izvedenoj iz 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);
}
===========================================================
Medjutim ono sto meni treba je CBitmap koji nije ucitan iz resoursa, to jest koji se kreira dinamicki, a koji ce da zameni vec postojeci...
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);
=============================================================
Kada uradim zamenu sa CBitmap-om koji je ucitan iz resursa onda je ok, ali kad napravim CDC nista ne dobijem, zbog cega mislim da nisam lepo odradio CDC - CBitmap inicijalizaciju, da li je "CDC* pdc = GetDC()" OK ??; .
Ako neko moze da mi pomogne oko ovog problema bio bih mu zahvalan.