读书人

关于保存CDC状态,帮小弟我看下 为什么

发布时间: 2012-01-06 22:55:18 作者: rapoo

关于保存CDC状态,帮我看下 为什么无效阿。。。
CPaintDC dc(this); // device context for painting

//初始化或恢复设备描述表
if( m_iDCSave != 0)
{
dc.RestoreDC(m_iDCSave);
MessageBox(_T("恢复设备描述表"),NULL,NULL);
}

else
{
MessageBox(_T("初始化设备描述表"),NULL,NULL);
CPen pen(PS_SOLID,11,RGB(0,255,0));

dc.SelectObject(pen);

m_iDCSave = dc.SaveDC();
}

dc.Ellipse(CRect(0,0,500,500));

运行程序后
弹出一个 "初始化设备描述表" 消息框, 以后每次都是 弹出"恢复设备描述表"消息框

但 就第一次用绿色画笔 画出的圆,
后面都是用黑色的画笔画出圆

[解决办法]
你把MessageBox放在OnPaint里,那还不烦死你啊
[解决办法]
dc.RestoreDC(m_iDCSave);
m_iDCSave=0;

读书人网 >VC/MFC

热点推荐