怎么清空显示的文字
怎样清空显示的文字?
我用双缓冲显示文字,现在要把这些显示的文字清掉,怎么搞?
------解决思路----------------------
跳过TextOut
------解决思路----------------------
使用一个全局变量,记住当前画图的状态(显示文字或不显示文字)。
当状态为不显示文字时,跳过TextOut不执行。
我用双缓冲显示文字,现在要把这些显示的文字清掉,怎么搞?
void playdlg::OnPaint()
{
CClientDC dc( this );
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CFormView::OnPaint()
CString temp;
CRect rect;
GetWindowRect(&rect);//得到对话框的范围
ScreenToClient(rect);
CRect rectTemp=rect;
temp=_T("开始绘图......");
// CBrush brush(RGB(0,0,0));
// dc.FillRect(&rect,&brush);
// 设置m_newFont对象的字体为当前字体,并将之前的字体指针保存到m_pOldFont
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
ASSERT(dcMem.GetSafeHdc());
CBitmap bmp;
bmp.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height());
ASSERT(bmp.GetSafeHandle());
CBitmap* pOldBitmap = (CBitmap*)dcMem.SelectObject(&bmp);
dcMem.FillSolidRect(&rect, GetSysColor(COLOR_3DFACE));
dcMem.SetBkMode(TRANSPARENT);
m_pOldFont = (CFont*)dcMem.SelectObject(&m_newFont);
dcMem.TextOut (rect.left+30,rect.top+80 ,temp);
rectTemp.left+=30;
rectTemp.top+=160;
// 恢复以前的字体
dc.BitBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, SRCCOPY);
dcMem.SelectObject(pOldBitmap);
dcMem.SelectObject(m_pOldFont);
dcMem.DeleteDC();
}
------解决思路----------------------
跳过TextOut
------解决思路----------------------
使用一个全局变量,记住当前画图的状态(显示文字或不显示文字)。
当状态为不显示文字时,跳过TextOut不执行。