一个不懂的问题,一定要给予帮忙啊
在对话框上动态的添加了一个CStatic,然后在上面画了一幅图片,然后在OnInitizlize中调用,这时显示了一次,然后消失,我想应该在OnPaint中调用,但是还是没有显示,为什么?
源码如下:
m_static.Create("",WS_CHILD|WS_VISIBLE|WS_EX_STATICEDGE|WS_EX_TRANSPARENT|
WS_EX_CLIENTEDGE,CRect(140,10,300,300),this,IDC_MYSTATIC))
显示位图:
hwnd=GetDlgItem(IDC_MYSTATIC);
hwnd->GetClientRect(&rect);
hDesDC = hwnd->GetDC()->m_hDC;
hSrcDC = CreateCompatibleDC(hDesDC);
hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),
"D:\\car.bmp",
IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
GetObject(hBitmap, sizeof(BITMAP), &bm);
SelectObject(hSrcDC, hBitmap);
hwnd->GetClientRect(&rect);
::SetStretchBltMode(hDesDC,COLORONCOLOR);
::StretchBlt(hDesDC, rect.left, rect.top, rect.right,rect.bottom,
hSrcDC, 0, 0, bm.bmWidth, bm.bmHeight,SRCCOPY);
hwnd->GetClientRect(&rect);
::SetStretchBltMode(hDesDC,COLORONCOLOR);
::StretchBlt(hDesDC, rect.left, rect.top, rect.right,rect.bottom,
hSrcDC, 0, 0, bm.bmWidth, bm.bmHeight,SRCCOPY);