CImageList *pImageList=new CImageList;
pImageList->Create(16, 16, ILC_COLORDDB|ILC_MASK, 0, 1);
HBITMAP hBitMap;
CBitmap *pBitMap;
hBitMap=LoadALLPIC("res\\image044.jpg");
pBitMap=new CBitmap;
pBitMap->Attach(hBitMap);
pImageList->Add(pBitMap,RGB(0,0,0));
//delete pBitMap;
CImageList* a=m_ExBox.SetImageList(pImageList);
a==NULL,这是怎么回事,
pImageList->Create(16, 16, ILC_COLORDDB|ILC_MASK, 0, 1);
这个Create函数应该如何设置,是不是这个函数的问题导致的,
我的图片是jpg的,多少色的我也不清楚,怎么知道是多少色的呢?
pImageList->Create(16, 16, ILC_COLORDDB|ILC_MASK, 0, 1);
HBITMAP hBitMap;
CBitmap *pBitMap;
hBitMap=LoadALLPIC("res\\image044.jpg");
pBitMap=new CBitmap;
pBitMap->Attach(hBitMap);
pImageList->Add(pBitMap,RGB(0,0,0));
//delete pBitMap;
CImageList* a=m_ExBox.SetImageList(pImageList);
a==NULL,这是怎么回事,
pImageList->Create(16, 16, ILC_COLORDDB|ILC_MASK, 0, 1);
这个Create函数应该如何设置,是不是这个函数的问题导致的,
我的图片是jpg的,多少色的我也不清楚,怎么知道是多少色的呢?
A pointer to a CImageList object containing the images previously used by the CComboBoxEx control. NULL if no image list was previously set.
返回NULL是正常的啊,表明这个控件先前没有选入任何imagelist对象。
// TODO: Add your control notification handler code here
CImageList *pImageList=new CImageList;
pImageList->Create(16, 16, ILC_COLORDDB|ILC_MASK, 0, 1);
HBITMAP hBitMap;
CBitmap *pBitMap;
hBitMap=LoadALLPIC("res\\image044.jpg");
pBitMap=new CBitmap;
pBitMap->Attach(hBitMap);
pImageList->Add(pBitMap,RGB(0,0,0));
//delete pBitMap; CImageList* a=m_ExBox.SetImageList(pImageList);
//
// nItem = m_TestBox.InsertItem(&cbi); COMBOBOXEXITEM insItem;
insItem.mask=CBEIF_IMAGE | CBEIF_TEXT;
insItem.iItem=0;
insItem.iImage=0;
insItem.pszText="Line 1";
int b =m_ExBox.InsertItem(&insItem);
可是控件里什么都没有,还是空的,是那边有问题?
bmType 0
bmWidth 54
bmHeight 56
bmWidthBytes 216
bmPlanes 1
bmBitsPixel 32
bmBits 0x00000000
1、根据这些参数,我的pImageList->Create(, , , , ) 函数参数应该如何设置呢?
2、现在是能显示了,但是,只有在第一次的下拉列表里能看到,当选择后,在编辑框里图片显示的是空白的,只能显示文字,然后再点击下拉列表,这时里面也是只能显示文字了,图片都显示不了。
CImageList *pImageList=new CImageList;
pImageList->Create(54, 56, ILC_COLOR32|ILC_MASK, 0, 1);
HBITMAP hBitMap[3];
CBitmap *pBitMap;
// hBitMap=LoadALLPIC("res\\image044.jpg");
hBitMap[0]=LoadALLPIC("res\\image044.jpg");
hBitMap[1]=LoadALLPIC("res\\image028.jpg");
hBitMap[2]=LoadALLPIC("res\\image050.jpg");
for (int i=0;i<3;i++)
{
pBitMap=new CBitmap;
pBitMap->Attach(hBitMap[i]);
pImageList->Add(pBitMap,RGB(0,0,0));
delete pBitMap;
COMBOBOXEXITEM insItem;
insItem.mask=CBEIF_IMAGE | CBEIF_OVERLAY | //CBEIF_INDENT |
CBEIF_SELECTEDIMAGE | CBEIF_TEXT;
insItem.iItem=i;
CString str;
str.Format(_T("Item %02d"), i);
insItem.pszText = (LPTSTR)(LPCTSTR)str;
insItem.cchTextMax = str.GetLength();
insItem.iImage = i;
insItem.iSelectedImage =i;
insItem.iOverlay = 5;
insItem.iIndent = (i & 0x03); //Set indentation according to item position
int nItem =m_ExBox.InsertItem(&insItem);
ASSERT(nItem == i);
}
CImageList* a=m_ExBox.SetImageList(pImageList);
但是还存在一个问题,就是大图片只能按图片的大小设置,如果设小了,就只能显示一部分,
不知道能不能将整个图片缩小显示?