qq_29670983
qq_29670983
采纳率43.1%
2015-08-22 00:00

请教一个MFC代码的问题

  • c++

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条回答

  • VisualEleven Eleven 6年前

    没有问题,可以这样,一般也是这样做的。

    点赞 评论 复制链接分享
  • 91program 91program 6年前

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

    点赞 评论 复制链接分享

相关推荐