在使用CListCtrl显示一些图片信息时,需要显示图片的缩略图
因此使用了CImageList来加载硬盘上的bmp文件,并设置缩放到一个64x64的框中
最后在CListCtrl(View模式为Report)中将图片显示出来程序能够正确加载 宽度大于高度 的bmp图片,但是却无法加载 高度大于宽度 的图片
当高度大于宽度时,CListCtrl中显示的图片为空白,图片没有加入到CImageList上去
请问有遇到过这种情况的吗?应该怎么解决?//-----------------------------------------------------------部分代码如下: HIMAGELIST hList = ImageList_Create(IMAGE_SIZE_SMALL,IMAGE_SIZE_SMALL, ILC_COLOR24 | ILC_MASK, 64, 10);
m_cImageListSmall.Attach(hList); m_cListCtrl.SetImageList(&m_cImageListSmall, LVSIL_SMALL); ......
HBITMAP hBitmap;
int w = imageInfo.Width;
int h = imageInfo.Height; // 创建小缩略图
float ratio = (float)w/(float)h;
if(ratio > 1.0f)
{
if(w > IMAGE_SIZE_SMALL)
{
w = IMAGE_SIZE_SMALL;
h = (int)((float)w/ratio);
}
}
else
{
if(h > IMAGE_SIZE_SMALL)
{
h = IMAGE_SIZE_SMALL;
w = (int)(h*ratio);
}
} hBitmap=(HBITMAP)::LoadImage(::AfxGetInstanceHandle(),
CString(szBuf),
IMAGE_BITMAP,
w,h,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);   CBitmap cBitmap;
cBitmap.Attach(hBitmap);
m_cImageListSmall.Add(&cBitmap, RGB(255,0,255));
cBitmap.DeleteObject();//-----------------------------------------------------------2. 另外,请问如何将加载的图片在竖直方向上居中?
现在如果加载一个宽度大于高度的图片时,是上对齐的,下半部分是背景黑色Thanks!