关于OnPaint的问题,求助.

xijia_130 2007-06-20 11:58:39
Dlg上面有一个Static,我打算在Static中画坐标系,直线,标题等等,坐标都是相对于Static的值。
写了一个普通类DrawStatic,先获得目标Static的HWND,进而获得该Static的 HDC,然后开始设置映射模式,进而绘制坐标系等操作。

写了一个test工程,testdlg上有几个button,1个Static,和一个成员变量 DrawStatic m_DS,
如果将m_DS.GetHWnd(),m_DS.DrawCoor(),m_DS.DrawTitle()等等操作作为各个Button的响应代码,绘制没有任何问题,如果把这些代码放在OnPaint里,没有任何反映,根本绘制不了。
追踪进去,发现OnPaint函数确实响应了,但为什么没有绘制呢 ?
...全文
148 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dazedase 2007-06-20
  • 打赏
  • 举报
回复
如果m_DS.DrawCoor(),m_DS.DrawTitle()等等操作中有
CPaintDC dc(this); 试试把它改成 CDC* pdc = GetDC();用 pdc绘图
或者改为DrawCoor(CDC* pdc) DrawTitle(CDC* pdc),在OnPaint时传入CPaintDC

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧