我在对话框的Picture控件中显示图像,在OnPaint函数中实现,不过图像是显示了,但是对话框中其它的控件都看不见了,如果在OnPaint中调用CDialog::OnPaint(),则图像显示不了,代码如下:
void CXuanQuMoBanDlg::OnPaint()
{
//CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages CClientDC dc(GetDlgItem(IDC_PIC)); if(filename!="")
{
CBitmap m_bitmap;
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,_T(filename),IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
m_bitmap.Attach(hBitmap);
CDC dcImage;
if(!dcImage.CreateCompatibleDC(&dc))
return;
BITMAP bm;
m_bitmap.GetBitmap(&bm);
dcImage.SelectObject(&m_bitmap);
dc.BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY);
DeleteObject(hBitmap);
}
}
void CXuanQuMoBanDlg::OnPaint()
{
//CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages CClientDC dc(GetDlgItem(IDC_PIC)); if(filename!="")
{
CBitmap m_bitmap;
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,_T(filename),IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
m_bitmap.Attach(hBitmap);
CDC dcImage;
if(!dcImage.CreateCompatibleDC(&dc))
return;
BITMAP bm;
m_bitmap.GetBitmap(&bm);
dcImage.SelectObject(&m_bitmap);
dc.BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY);
DeleteObject(hBitmap);
}
}
解决方案 »
- CreateCompatibleBitmap函数失败,错误码为8
- 从mysql数据库中读中文到VC6.0的listbox控件中,出现问号"??"
- 自己做资源管理器遇到的问题,请各位帮忙!!!
- 请各位看看这个怪事嘛
- 如何将字符串"IDB_BITMAP1"转成资源ID: IDB_BITMAP1
- 如何在VC++中使用ODBC系统dsn数据源
- 考研好还是搞计算机技术好(续)????
- VC中access vialation错误怎么解决?
- 请教几个关于VC与MATLAB混合编程的问题
- 如果我要创建一个被服务器上的ASP调用的ActiveX,我在New ATL Objects...中应该选哪一个?
- AB两端TCP 同步SOCKET连接,A方SOCKET断开,B方SOCKET默认会怎么处理?
- vs2005怎样添加slash组件?
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,_T(filename),IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
bitmap.Attach(hBitmap); //加载位图2
GetDlgItem(IDC_PIC)->SetBitmap(bitmap); //显示位图
bitmap.DeleteObject();