日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mfc 使用画笔画线

發(fā)布時間:2025/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mfc 使用画笔画线 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

win10, vc6;新建一個單文檔工程;

為視類添加鼠標左鍵彈起消息處理函數(shù);

視類頭文件添加一個成員變量:CPoint m_ptOrigin;

視類CPP文件構造函數(shù)中初始化,

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:邊框內(nèi)沿線

?

總結

以上是生活随笔為你收集整理的mfc 使用画笔画线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。