CClientDC派生于CDC类,在构造函数时调用GetDC函数,在析构时调用ReleaseDC函数。
CClientDC dc(this); //CClientDC dc(GetParent()); 可绘制直线到工具栏等地方
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
MFC CClientDC实现画图主要代码:
// lineView.h : ClineView 类的接口
public:
// 用来记录鼠标位置
CPoint start;
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
// lineView.cpp : ClineView 类的实现
void ClineView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CView::OnLButtonDown(nFlags, point);
star

本文介绍了如何在MFC应用中利用CClientDC类来实现在视图上绘制线条的功能。通过覆盖OnLButtonDown、OnLButtonUp和OnMouseMove事件,实现了从鼠标按下到释放期间的连续画线操作。在OnLButtonDown中记录起点,在OnMouseMove中使用CClientDC创建设备上下文并画线,在OnLButtonUp中清除起点坐标。

5815

被折叠的 条评论
为什么被折叠?



