qq_29670983 2015-08-22 00:00 采纳率: 0%
浏览 1358

请教一个MFC代码的问题

void CmouselessionDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nFlags == MK_LBUTTON)
{
CClientDC ddd(this);
CPen ppen;
ppen.CreatePen(1, 5, RGB(0, 0, 255));
ddd.SelectObject(ppen);
ddd.MoveTo(pt);
ddd.LineTo(point.x,point.y);
}
pt = point;
CDialogEx::OnMouseMove(nFlags, point);
}
请问下这段代码是不 是有逻辑上的问题呀?每MOUSEMOVE都会定义一遍
CCLIENTDC和CPEN,虽然可以运行。

  • 写回答

2条回答 默认 最新

  • 普通网友 领域专家: 编程技术技术领域 2015-08-22 01:36
    关注

    你可以考虑将 CCLIENTDC和CPEN 定义成窗体类的成员,这样就不用每次都定义它们,只要拿来使用就行。
    在窗体销毁时,考虑这两个对象是否要释放。

    评论

报告相同问题?