mfc 使用画笔画线
生活随笔
收集整理的這篇文章主要介紹了
mfc 使用画笔画线
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
win10, vc6;新建一個單文檔工程;
為視類添加鼠標左鍵彈起消息處理函數;
視類頭文件添加一個成員變量:CPoint m_ptOrigin;
視類CPP文件構造函數中初始化,
CMypenView::CMypenView()
{
?? ?// TODO: add construction code here
?? ?m_ptOrigin.x=20;
?? ?m_ptOrigin.y=20;
}
不使用畫筆效果如下;
創(chuàng)建一個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類對象;創(chuàng)建畫筆之后,使用dc.SelectObject選入設備描述表;再畫線即使用該畫筆;上述語句的返回值為原來的畫筆;畫完圖之后再使用?dc.SelectObject(ptr) 把原來的畫筆選進設備描述表;
畫筆的樣式定義如下,
PS_SOLID:實線
PS_DOT:點線
PS_DASH:劃線
PS_DASHDOT:點劃線
PS_DASHDOTDOT:一劃兩點的點劃線
PS_NULL:透明線
PS_INSIDEFRAME:邊框內沿線
?
總結
以上是生活随笔為你收集整理的mfc 使用画笔画线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首次使用three.js加载obj模型未
- 下一篇: mfc在两个控件间连线