一直刷新窗体,CPaintDC就会无效。无法绘制图片。
virtual void OnPaint(CDCHandle h) { CPaintDC dc(*this); dc.SaveDC(); CDC dcbk = dc; //获取背景位图的长度和高度 BITMAP bm; m_backGroundBmp.GetBitmap(&bm); int bmpWidth = bm.bmWidth; int bmpHeight = bm.bmHeight; drawBitmap(dcbk, m_backGroundBmp, m_leftUpAngle , 0, 0); drawBitmap(dcbk, m_backGroundBmp, m_rightUpAngle , bmpWidth - m_angleWidth, 0); drawBitmap(dcbk, m_backGroundBmp, m_leftDownAngle , 0, bmpHeight-m_angleHeight); drawBitmap(dcbk, m_backGroundBmp, m_rightDownAngle , bmpWidth - m_angleWidth, bmpHeight-m_angleHeight); //绘制标题字体颜色 dcbk.SetBkMode(TRANSPARENT); dcbk.SetTextColor ( m_titleColor );//字色 CFont m_font; dcbk.SelectFont( m_font.CreatePointFont(90,_T("宋体"),NULL));//字体 CString _title = m_title; CRect temprc(25, 7, _title.GetLength()*20, 26); DrawText(dcbk, _title, _title.GetLength(), temprc, NULL);//绘制软件名称版本信息等 dcbk.RestoreDC(-1); ReleaseDC(dcbk); ReleaseDC(dc); }