void CTestMfcDlg::LoadBitmaps()
{
static CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
static BITMAP bm;
bmp.GetBitmap(&bm);
CDC dcMemory;
CClientDC dc(this);
dcMemory.CreateCompatibleDC(&dc);
dcMemory.SelectObject(&bmp);
dc.BitBlt(0,0,50,50,&dcMemory,0,0,SRCCOPY);
}这是我自定义的一个函数,然后在OnInitDialog函数中会调用它.我的工程是基于对话框的MFC工程.
大家帮忙给看看.
解决方案 »
- 如何在vc中实现数据库中的音频数据的播放
- 窗口1的按钮想调用窗口2的按钮单击事件
- 如何实现一个接口指针在一个进程中的任意线程中的任意调用?
- 紧急求救:怎样打印出线程调用函数上下文呢?
- 如何使用AxtiveX控件中的windows media play 实现顺序播放与随机播放
- 使用CPropertyPage建立setup程序,如何从第一个页面直接进入底三个页面?还能够返回的???
- 如何隐藏一个.exe文件?
- 还望大虾指点--怎样从http协议分解出url和页面
- 有哪位老兄清楚ime文件的格式,如何使用它
- 大半夜的烟草又一点都没了,可怎么办呀!
- 怎样弹出tab页面
- Vista下如何重新刷新外接硬盘
另把显示代码改成这样看看,首先判断图片是否加载成功void CTestMfcDlg::LoadBitmaps()
{
static CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
ASSERT(bmp.GetSafeHandle());
static BITMAP bm;
bmp.GetBitmap(&bm);
CDC dcMemory;
CClientDC dc(this);
dcMemory.CreateCompatibleDC(&dc);
dcMemory.SelectObject(&bmp);
dc.BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcMemory,0,0,SRCCOPY);}
还有就是记得释放你的缓冲的dcMemory,还有bmp要删掉这个object
OnInitDialog函数调用完毕会触发窗口重画消息,这样你上次的调用就全没了,所以你看不到