我在对话框的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);
}
}
解决方案 »
- 请教深入浅出mfc中的一个示例程序,有点看不明白?
- 界面设计 高手们 请进!!
- OLEDB连接SQL SERVER是否能执行存储过程?
- 急寻邮件群发代码
- 关于自己创建类的问题???????????????????
- 请问那位仁兄有REALPLAY的程序?急。
- 还有个问题:如何使无标题栏对话框在任务栏上点击时实现最大公、最小化?
- VC通讯录的制作
- 子对话框按钮弹出对话框
- MFC42U.dll 崩溃,ExceptionCode: c0000005 (Access violation)
- 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();