失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mfc 使用画笔画线

mfc 使用画笔画线

时间:2021-09-03 09:48:33

相关推荐

mfc 使用画笔画线

win10, vc6;新建一个单文档工程;

为视类添加鼠标左键弹起消息处理函数;

视类头文件添加一个成员变量:CPoint m_ptOrigin;

视类CPP文件构造函数中初始化,

CMypenView::CMypenView()

{

// TODO: add construction code here

m_ptOrigin.x=20;

m_ptOrigin.y=20;

}

不使用画笔效果如下;

创建一个10像素宽、红色的画笔后,画线效果如下;

鼠标左键弹起代码;

void CMypenView::OnLButtonUp(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/or call default//HDC hdc;//hdc = ::GetDC(m_hWnd);//MoveToEx(hdc,m_ptOrigin.x, m_ptOrigin.y,NULL);//LineTo(hdc, point.x, point.y);//::ReleaseDC(m_hWnd,hdc);CWindowDC dc(this);CPen pen(PS_SOLID, 10, RGB(255,0,0));CPen *ptr = dc.SelectObject(&pen);dc.MoveTo(m_ptOrigin);dc.LineTo(point);dc.SelectObject(ptr);CView::OnLButtonUp(nFlags, point);}

CPen *ptr = dc.SelectObject(&pen);

画笔为CPen类对象;创建画笔之后,使用dc.SelectObject选入设备描述表;再画线即使用该画笔;上述语句的返回值为原来的画笔;画完图之后再使用dc.SelectObject(ptr) 把原来的画笔选进设备描述表;

画笔的样式定义如下,

PS_SOLID:实线

PS_DOT:点线

PS_DASH:划线

PS_DASHDOT:点划线

PS_DASHDOTDOT:一划两点的点划线

PS_NULL:透明线

PS_INSIDEFRAME:边框内沿线

如果觉得《mfc 使用画笔画线》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
[MFC]画线

[MFC]画线

2019-06-22

[MFC]画线

[MFC]画线

2020-04-07

使用MFC画线(初学)

使用MFC画线(初学)

2021-10-10

MFC 画线 画刷 文本

MFC 画线 画刷 文本

2023-11-26