国产91在线无码_少妇人妻无码高清_91人妻中文字幕无码专区在线_国产福利在线播放_免费 无码 国产成年视频网站

VC|MFC的CDC類及如何使用畫筆繪制各種圖形(vc應(yīng)用mfc畫圖的詳細(xì)步驟)

CDC對象提供處理顯示器或打印機等設(shè)備上下文的成員函數(shù),以及處理與窗口客戶區(qū)對應(yīng)的顯示上下文的成員。另外還為繪制文本、處理字體,使用打印機跳轉(zhuǎn),滾動和播放元文件提供成員函數(shù)。

它還為獲取和設(shè)置繪圖屬性、映射,處理視點、窗口擴展、轉(zhuǎn)換坐標(biāo),處理區(qū)域、剪貼、繪制直線及繪制簡單橢圓和多邊形等形狀提供了成員函數(shù)。

可以通過CDC對象的成員函數(shù)進(jìn)行所有的繪圖。

其對象層次結(jié)構(gòu)如下:

VC|MFC的CDC類及如何使用畫筆繪制各種圖形(vc應(yīng)用mfc畫圖的詳細(xì)步驟)

類名 說明
CPaintDC 窗口用戶區(qū)的設(shè)備描述環(huán)境,在OnDraw()函數(shù)中來處理WM_PAINT消息
CClientDC 窗口客戶區(qū)的設(shè)備描述環(huán)境,但應(yīng)用在WM_PAINT消息之外的消息處理函數(shù)中
CWindowDC 在整個窗口內(nèi)(不只是用戶區(qū))繪圖的設(shè)備描述環(huán)境
CMetaFileDC 圖元文件的設(shè)備描述環(huán)境,在創(chuàng)建可以回放的圖像時使用

專門用于在應(yīng)用程序窗口客戶區(qū)繪圖的CPaintDC,是所有CDC子類中最常用的一個類。為了防止程序設(shè)計人員誤把繪圖代碼寫到其他位置,MFC規(guī)定,CPaintDC對象只在CView類的OnDraw( )函數(shù)中有效。并且為了方便和引起程序員注意,MFC AppWizard在自動為用戶生成的CVeiw派生類代碼中就生成了如下框架代碼:

OnDraw(CDC *Pdc)

{……..}

其中,函數(shù)的參數(shù)pDC就是指向CPaintDC對象的指針。

系統(tǒng)每次創(chuàng)建應(yīng)用程序窗口及窗口需要刷新時就會產(chǎn)生WM_PAINT消息,系統(tǒng)接收到這個消息就會自動調(diào)用OnDraw( )函數(shù)。應(yīng)用程序也可以調(diào)用相關(guān)函數(shù)來激活OnDraw( ),所以程序中所有對窗口客戶區(qū)進(jìn)行繪圖的代碼都應(yīng)該寫在這個函數(shù)中。

CDC類有很多成員函數(shù),包括繪制點、直線、矩形、橢圓、多邊形、文本以及位圖等的成員函數(shù)。

以下是一個小實例:

// Ch9Demo3View.cpp

void CCh9Demo3View::OnDraw(CDC* pDC)

{

CCh9Demo3Doc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

CPen pen[5];

//創(chuàng)建實線畫筆

pen[0].CreatePen(PS_SOLID, 5, RGB(255, 0, 0));

//創(chuàng)建虛線畫筆

pen[1].CreatePen(PS_DASH, 1, RGB(0, 255, 0));

//創(chuàng)建點線畫筆

pen[2].CreatePen(PS_DOT, 1, RGB(0, 0, 255));

//創(chuàng)建點劃線畫筆

pen[3].CreatePen(PS_DASHDOT, 1, RGB(0, 255, 255));

// 創(chuàng)建雙點劃線畫筆

pen[4].CreatePen(PS_DASHDOTDOT, 1, RGB(255, 0, 255));

// 保存指向設(shè)備上下文原有畫筆的指針

CPen *pOldPen;

//以實線畫筆繪制矩形

pOldPen=pDC->SelectObject(&pen[0]);

pDC->Rectangle(10, 10, 110, 110);

pDC->TextOut(10, 115, \”Rectangle繪制矩形\”);

//使用虛線畫筆和函數(shù)Polyline輸出多段折線

pDC->SelectObject(&pen[1]);//載入畫筆

pDC->Rectangle(180, 10, 330, 110);//繪制矩形

CPoint pts[]={CPoint(190, 20), CPoint(200, 60), CPoint(270, 40), CPoint(210, 80),

CPoint(250, 100), CPoint(300, 30), CPoint(310, 80)};

pDC->Polyline(pts, 7);//繪制多端折線

pDC->TextOut(180, 115, \”Polyline繪制多段折線\”);

// 使用Pie和Arc輸出餅圖和弧形

pDC->SelectObject(&pen[2]);//載入點線畫筆

pDC->Ellipse(10, 140, 160, 240);

pDC->SelectObject(&pen[3]);//載入點劃線畫筆

pDC->Pie(20, 150, 150, 230, 160, 160, 10, 160);

pDC->SelectObject(&pen[4]);//載入雙點劃線畫筆

pDC->Arc(20, 150, 150, 230, 10, 220, 160, 220);

pDC->TextOut(10, 245, \”不同畫筆繪制橢圓、弧形和餅圖\”);

//恢復(fù)設(shè)備上下文的原有畫筆

pDC->SelectObject(pOldPen);

//刪除所創(chuàng)建的畫筆資源

for (int i=0; i<5; i )

pen[i].DeleteObject();

}

VC|MFC的CDC類及如何使用畫筆繪制各種圖形(vc應(yīng)用mfc畫圖的詳細(xì)步驟)

繪制弧形需要4個坐標(biāo)點,函數(shù)原型如下:

Arc(int x1,int x2, int x3, int x4, int x5, int x6, int x7, int x8)

4個坐標(biāo)點如下圖所示:

VC|MFC的CDC類及如何使用畫筆繪制各種圖形(vc應(yīng)用mfc畫圖的詳細(xì)步驟)

Pie()函數(shù)的參數(shù)與上述Arc()函數(shù)相同。

-End-

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年7月25日 下午6:13
下一篇 2024年7月25日 下午6:24

相關(guān)推薦

  • 火箭上天、科研下海 新質(zhì)生產(chǎn)力賦能海南自貿(mào)港(海南火箭基地建設(shè))

    央視網(wǎng)消息:提到海南的“上天入?!?,會有不少人想到海南的直升機觀光、潛水項目等。海南的“上天下海”并沒有止步于旅游項目,今天,我們給大家?guī)淼氖呛D系幕鸺l(fā)射上天、深??蒲许椖肯潞?#8230;

    科研百科 2024年4月21日
    65
  • 科研項目研究方案

    科研項目研究方案 隨著科技的不斷發(fā)展,科研項目研究方案越來越受到人們的重視。一份好的研究方案不僅可以幫助科研項目順利完成,還可以提高科研項目的效率和質(zhì)量。本文將介紹一份科研項目研究…

    科研百科 2025年2月3日
    4
  • 在線考試系統(tǒng)java項目管理

    在線考試系統(tǒng)Java項目管理 在線考試系統(tǒng)是一種常用的Java應(yīng)用程序開發(fā)項目,用于管理考試過程,包括考生注冊、考試安排、成績查詢等。項目通常包含多個子模塊,需要協(xié)調(diào)和整合這些模塊…

    科研百科 2025年1月16日
    1
  • 高??蒲许椖慷惵?

    高??蒲许椖慷惵?隨著科技的不斷進(jìn)步,高??蒲许椖恳苍谥饾u增加。然而,科研項目的稅率也是一個備受關(guān)注的話題。本文將探討高??蒲许椖慷惵实膯栴},并介紹其重要性。 高??蒲许椖慷惵适侵?#8230;

  • 土木工程 軟件(土木工程管理軟件)

    土木工程管理軟件 隨著現(xiàn)代建筑和基礎(chǔ)設(shè)施建設(shè)的迅速發(fā)展,土木工程管理軟件已經(jīng)成為了一個不可或缺的工具。這些軟件可以幫助工程師和建筑師更高效地管理他們的項目,提高生產(chǎn)力和效率。本文將…

    科研百科 2024年8月29日
    3
  • 奶茶管理系統(tǒng)項目

    奶茶管理系統(tǒng)項目 隨著現(xiàn)代商業(yè)的發(fā)展,奶茶行業(yè)也變得越來越普及。在這個行業(yè)中,奶茶店鋪需要滿足顧客的需求,提供高品質(zhì)的飲品和服務(wù),這就需要一套高效的管理系統(tǒng)。本文將介紹一個奶茶管理…

    科研百科 2024年12月11日
    2
  • 知網(wǎng)的科研項目申報信息庫

    知網(wǎng)是中國最大的在線知識庫之一,它提供了大量的科研項目申報信息。作為知網(wǎng)的一個重要組成部分,科研項目申報信息庫可以幫助研究人員快速、準(zhǔn)確地找到所需的信息。本文將介紹科研項目申報信息…

    科研百科 2024年10月11日
    18
  • 科研經(jīng)費管理軟件

    科研經(jīng)費管理軟件 隨著科研經(jīng)費的增加,科研經(jīng)費管理軟件已經(jīng)成為了科研領(lǐng)域中不可或缺的一部分??蒲薪?jīng)費管理軟件可以幫助研究人員更好地管理他們的經(jīng)費,更好地控制開支,并且更有效地跟蹤他…

    科研百科 2024年7月11日
    34
  • 微軟電腦管家2.2最新版新功能以及設(shè)置功能位置(微軟電腦管家在哪)

    微軟電腦管家2.2最新公測版本帶來了哪些新功能呢,不管是微軟電腦管家這款軟件,還是其他我們?nèi)粘=?jīng)常用的以及不經(jīng)常用的軟件,軟件在一段時間內(nèi),都會出現(xiàn)新版本的更新。而在上個月月底的時…

    科研百科 2022年11月26日
    485
  • 項目計劃管理(項目計劃管理軟件)

    生產(chǎn)運作管理 項目計劃管理 project plan management 項目管理就是對項目進(jìn)行計劃、組織和控制,項目管理是一項十分復(fù)雜的工作。無論是項目的提出、咨詢、論證、設(shè)計…

    2022年6月18日
    507