很奇怪, 我的程序如下:
CBitmap Bitmap;
if( Bitmap.CreateCompatibleBitmap(pDC, 80, 60) )
{
CBitmap* pOldBitmap = dcMem.SelectObject(&Bitmap);
if( pOldBitmap )
{
CRect rc(0, 0, 80, 60);
dcMem.Rectangle(&rc); SaveBitmapToFile((HBITMAP)Bitmap, "a.bmp");
HBITMAP hBitmap = (HBITMAP)LoadImage(GetModuleHandle(NULL), "a.bmp", IMAGE_BITMAP, 80, 60, LR_LOADFROMFILE);
BOOL b = m_ilThumbnail.Replace(1, CBitmap::FromHandle(hBitmap), NULL);
b = m_lstThumbnail.InsertItem(1, NULL, 1); // 这里插入的item可以显示出来 b = m_ilThumbnail.Replace(2, &Bitmap, NULL);
b = m_lstThumbnail.InsertItem(2, NULL, 2); // 这里插入的就不能显示了, 显示出来的是一块全黑的位图
...
}
...
}
难道只有用LoadBitmap或LoadImage之类载入的位图才能够在listctrl中显示吗?
CBitmap Bitmap;
if( Bitmap.CreateCompatibleBitmap(pDC, 80, 60) )
{
CBitmap* pOldBitmap = dcMem.SelectObject(&Bitmap);
if( pOldBitmap )
{
CRect rc(0, 0, 80, 60);
dcMem.Rectangle(&rc); SaveBitmapToFile((HBITMAP)Bitmap, "a.bmp");
HBITMAP hBitmap = (HBITMAP)LoadImage(GetModuleHandle(NULL), "a.bmp", IMAGE_BITMAP, 80, 60, LR_LOADFROMFILE);
BOOL b = m_ilThumbnail.Replace(1, CBitmap::FromHandle(hBitmap), NULL);
b = m_lstThumbnail.InsertItem(1, NULL, 1); // 这里插入的item可以显示出来 b = m_ilThumbnail.Replace(2, &Bitmap, NULL);
b = m_lstThumbnail.InsertItem(2, NULL, 2); // 这里插入的就不能显示了, 显示出来的是一块全黑的位图
...
}
...
}
难道只有用LoadBitmap或LoadImage之类载入的位图才能够在listctrl中显示吗?
解决方案 »
- 高分求助,我在用Installshield Express 5.0 做安装程序,可是这个安装程序只能支持一国语言,我想使它能支持多过语言,怎么办啊
- vc工程生成的一个可执行文件,放到一个没有安装vc的机子上运行不通,怎么让
- 硬盘读写速度与CPU利用率
- 请问南京金税网安系统软件有限公司怎么样?待遇怎么样?
- 大家看看这个程序的算法是怎么样实现的啊
- 求援!关于ActiveX开发的问题
- head=free=use=&object;//为什么不让我初始化
- 各位帮帮忙吧,我都贴了好多次,怎么没人理啊
- 请问下载VC++的电子书哪最全、最新,望告知或Email致[email protected] 不胜感激。谁有VC++好书电子版发给我,我是新手需要帮助!
- 双线程调用DeviceIoControl读USB数据返回Error 31(连到系统上的设备没有发挥作用)
- 有一个热健CRTRL+P,我想在一个事件里用SendMessage模拟此热键,即该怎么发送此消息?
- 紧急求助!
dcMem.SelectObject(pOldBitmap);
b = m_ilThumbnail.Replace(2, &Bitmap, NULL);