您的位置: 旅游網(wǎng) > 影視 >> 喜劇

    中利用設(shè)計(jì)繪圖程序初步呢

    發(fā)布時(shí)間:2021-10-28 05:37:43

    首先我們說(shuō)下通過(guò)鼠標(biāo)的移動(dòng)來(lái)繪制直線。

    這里要捕獲到鼠標(biāo)的兩個(gè)消息:WM_LBUTTONDOWN, WM_LBUTTONUP。響應(yīng)WM_LBUTTONDOWN消息記錄直線的起始點(diǎn),響應(yīng)WM_LBUTTONUP消息記錄直線的終點(diǎn)并繪制直線。

    好了,我們看看怎么響應(yīng)。

    void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)

    {

    //MessageBox(\"Left Button Clicks DrawView\");

    m_ptOrigin = point ; //這里先定義了一個(gè)內(nèi)部變量保存直線的起始點(diǎn)

    CView::OnLButtonDown(nFlags, point);

    }

    下面看看響應(yīng)WM_LBUTTONUP消息記錄直線的終點(diǎn)并繪制直線。

    //方法一

    void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)

    {

    HDC hdc;

    hdc = ::GetDC(m_hWnd); //調(diào)用全局函數(shù)

    MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,0);

    LineTo(hdc,point.x,point.y);

    ::ReleaseDC(m_hWnd,hdc);

    CView::OnLButtonUp(nFlags, point);

    }

    //方法二

    void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)

    {

    CDC *pDC = GetDC();

    pDC-MoveTo(m_ptOrigin);

    pDC-LineTo(point);

    ReleaseDC(pDC);

    }

    //方法三

    void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)

    {

    CClientDC dc(this) ; //CClientDC對(duì)象構(gòu)造的時(shí)候就調(diào)用了GetDC,析構(gòu)的時(shí)候調(diào)用

    ReleaseDC ,只能訪問(wèn)客戶區(qū)

    CClientDC dc(GetParent());

    veTo(m_ptOrigin);

    neTo(point);

    }

    //方法四

    void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)

    {

    CWindowDC dc(this) ; //CWindowDC可以訪問(wèn)客戶區(qū)和非客戶區(qū)

    veTo(m_ptOrigin);

    neTo(point);

    }

    void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)

    {

    CWindowDC dc(GetDesktopWindow()) ; //現(xiàn)在可以訪問(wèn)桌面

    veTo(m_ptOrigin);

    neTo(point);

    }

    連續(xù)線繪圖:

    思路:鼠標(biāo)移動(dòng)的信號(hào)被捕捉到,然后隨時(shí)響應(yīng)該信號(hào),繪制圖線。

    這里要設(shè)置一個(gè)BOOL變量 m_bDraw 來(lái)判斷是否鼠標(biāo)左鍵按下了。

    //畫連續(xù)的線條

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)

    {

    if ( m_bDraw )

    {

    CClientDC dc(this) ;

    veTo(m_ptOrigin); //移動(dòng)到原來(lái)的點(diǎn)

    neTo(point); //繪制直線

    m_ptOrigin = point ; //將現(xiàn)在的點(diǎn)賦值給原來(lái)的坐標(biāo),以便下次調(diào)用

    }

    CView::OnMouseMove(nFlags, point);

    }

    //改變畫筆的顏色

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)

    {

    if ( m_bDraw )

    {

    CClientDC dc(this) ;

    CPen pen( PS_SOLID , 1 , RGB(255,128,128) );

    CPen *pOldPen = lectObject(pen);

    veTo(m_ptOrigin);

    neTo(point);

    m_ptOrigin = point ;

    lectObject(pOldPen);

    }

    CView::OnMouseMove(nFlags, point);

    }

    //畫扇型

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)

    {

    if ( m_bDraw )

    {

    CClientDC dc(this) ;

    CPen pen( PS_SOLID , 1 , RGB(255,128,128) );

    CPen *pOldPen = lectObject(pen);

    但由于F-86過(guò)于笨重 veTo(m_ptOrigin);

    neTo(m_ptOld);

    veTo(m_ptOrigin);

    neTo(point);

    m_ptOld = point ;

    lectObject(pOldPen);

    }

    CView::OnMouseMove(nFlags, point);

    }

    //畫帶邊線的扇型

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)

    {

    if ( m_bDraw )

    {

    CClientDC dc(this) ;

    CPen pen( PS_SOLID , 1 , RGB(255,128,128) );

    CPen *pOldPen = lectObject(pen);

    veTo(m_ptOrigin);

    neTo(m_ptOld);

    veTo(m_ptOrigin);

    neTo(point);

    veTo(m_ptOld);

    neTo(point);

    m_ptOld = point ;

    lectObject(pOldPen);

    }

    CView::OnMouseMove(nFlags, point);

    }

    //看看繪圖的模式設(shè)置方法

    void CDrawView::OnMouseMove(UINT nFlags, CPoint point)

    {

    if ( m_bDraw )

    {

    CClientDC dc(this) ;

    tROP2(R2_BLACK); //繪圖的模式設(shè)置,始終繪制黑色圖形

    CPen pen( PS_SOLID , 1 , RGB(255,128,128) );

    CPen *pOldPen = lectObject(pen);

    veTo(m_ptOrigin);

    neTo(m_ptOld);

    veTo(m_ptOrigin);

    neTo(point);

    veTo(m_ptOld);

    neTo(point);

    m_ptOld = point ;

    lectObject(pOldPen);

    }

    CView::OnMouseMove(nFlags, point);

    }

    到此,我們知道了一般地繪圖方法了。查看本文來(lái)源

    永州白癜風(fēng)醫(yī)院哪家好
    重慶治療白癜風(fēng)醫(yī)院哪好
    西安哪家醫(yī)院做人流好
    猜你會(huì)喜歡的
    猜你會(huì)喜歡的
    主站蜘蛛池模板: 风间由美在线亚洲一区| 天天躁夜夜躁狠狠躁2023| 怡红院免费全部视频在线视频| 天天躁日日躁狠狠躁av麻豆| 国产精品户外野外| 国产女人乱人伦精品一区二区| 国产免费av片在线播放| 再深点灬舒服灬太大了添a| 亚洲欧洲成人精品香蕉网| 久久亚洲国产成人精品无码区 | 欧美6699在线视频免费| 日本特黄高清免费大片爽| 女人与公狗交酡过程高清视频| 国产精品bbwbbwbbw| 啊~用力cao我cao烂我小婷| 亚洲熟妇无码爱v在线观看| 久久电影网午夜鲁丝片免费| ?1000部又爽又黄无遮挡的视频| 成年人在线网站| 特级毛片全部免费播放| 日本精品αv中文字幕| 天堂俺去俺来也WWW色官网| 国产成人一区二区三区免费视频 | 久久久久久亚洲精品| 99久久精品国产免费| 中文字幕无线码一区二区| 七仙女欲春2一级裸片免费观看 | 天天碰免费视频| 精品久久8X国产免费观看| 日韩电影中文字幕在线网站| 愉拍自拍视频在线播放| 国产精品沙发午睡系列999| 国产三级在线观看播放| 呦交小u女国产秘密入口| 亚洲色欲或者高潮影院| 亚洲欧美日韩综合一区| 亚洲综合第一区| 亚洲欧美一区二区三区图片| 久久精品国产亚洲av水果派| 中文天堂最新版www| 香蕉视频黄色在线观看|