|
引用 10 楼 yzbsd 的回复:
BOOL CDlg::OnInitDialog()
{
? ? ? ? ? ....
? ? ? ? ? m_hBmBkgnd=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(BMP_MAIN));
? ? ? ? ? ....
}
void CDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this);
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
}
else
{
CDialog::OnPaint();
CClientDC? dc(this);
CDC memDC;
CBitmap bmBkgnd;
bmBkgnd.Attach( m_hBmBkgnd );
memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBm = memDC.SelectObject( &bmBkgnd );
BITMAP bm;
bmBkgnd.GetObject(sizeof(bm), &bm);
dc.StretchBlt(0, 0,595,369, &memDC, 0, 0,bm.bmWidth,bm.bmHeight, SRCCOPY );
memDC.SelectObject( pOldBm );
bmBkgnd.Detach();
}
}
我试了下,好像没什么改变,显示的效果还是那样,有个刷的过程,图片的显示不是一瞬间就显示出来的。哎,估计也就只能这效果了。毕竟不是pc机,cpu实在太弱小了。谢谢你的答复 |
|