在MDI客户区显示一个图片,在改变窗口时能显示出来,但在刚打开程序不显示是为什么?void CMainFrame::OnPaint()
{
// CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CMDIFrameWnd::OnPaint();
BITMAP bitmap;
CBitmap m_bmp;
CRect rc,memrc;
CDC dc;
CDC memdc;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"beike_bj.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
m_bmp.Attach(hBitmap); dc.m_hDC=::GetDC(this->m_hWndMDIClient);
memdc.CreateCompatibleDC(&dc);
memdc.SelectObject(&m_bmp);
GetClientRect(&rc) ;
m_bmp.GetBitmap(&bitmap);
int x = rc.Width()/bitmap.bmWidth;
int y = rc.Height()/bitmap.bmHeight;
//m_bmp.GetBitmapDimension();
dc.StretchBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,bitmap.bmWidth ,bitmap.bmHeight , SRCCOPY); ReleaseDC(&memdc);
ReleaseDC(&dc);
//CMDIFrameWnd::OnPaint();
// Do not call CMDIFrameWnd::OnPaint() for painting messages
}
{
// CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CMDIFrameWnd::OnPaint();
BITMAP bitmap;
CBitmap m_bmp;
CRect rc,memrc;
CDC dc;
CDC memdc;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"beike_bj.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
m_bmp.Attach(hBitmap); dc.m_hDC=::GetDC(this->m_hWndMDIClient);
memdc.CreateCompatibleDC(&dc);
memdc.SelectObject(&m_bmp);
GetClientRect(&rc) ;
m_bmp.GetBitmap(&bitmap);
int x = rc.Width()/bitmap.bmWidth;
int y = rc.Height()/bitmap.bmHeight;
//m_bmp.GetBitmapDimension();
dc.StretchBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,bitmap.bmWidth ,bitmap.bmHeight , SRCCOPY); ReleaseDC(&memdc);
ReleaseDC(&dc);
//CMDIFrameWnd::OnPaint();
// Do not call CMDIFrameWnd::OnPaint() for painting messages
}
解决方案 »
- 我用CIMAGE把透明PNG转化成32位BMP,为什么有黑色背景的啊
- 高手进来看看,关于多国语言编辑器问题
- 倾家荡产请大家帮个小忙(举手之劳啊)
- CArray 中GetAt 报错的问题(急急急)
- 163照片管理的软件不知是怎样做的,挺好玩的,或者能实现网页和客户端软件的交互就好了.
- MSXML4.0中返回对象的问题,欢迎讨论。
- 想从网页Get参数到服务器的.dll或.exe程序后,执行并返回结果到网页,怎么办?
- CFormView中CTreeCtrl的数据刷新
- 如何将2个以上的ControlBar(垂直方向)排在同一列?(ControlBar不允许停靠在DockBar上)
- 请大家帮忙:一个新手关于多线程的问题,谢谢了!!!
- 对话框退出的问题
- 这段代码是VB的,能不能帮忙翻译成VC的?
挪到 ::OnDraw()中