在MFC中用CDC類畫2個同心圓

2021-07-17 03:19:29 字數 1059 閱讀 7830

cdc *pdc;       //建立cdc物件指標

pdc=getdc(); //初始化pdc

cpen greenpen(ps_solid,1,rgb(0,255,0)),*poldpen;//建立個綠色畫筆,ps_solid為線型別,

//1位線寬,*poldpen儲存原畫筆

poldpen=pdc->selectobject(&greenpen);//新增這個畫筆,同時儲存舊畫筆

pdc->selectstockobject(null_brush);//設定這個形狀的內部填充為無色

int x,y,r,r2;//x,y同心圓的座標,r,r2為2個圓的半徑

x=200;y=

500;r=

4;r2=

40;//具體數值

// pdc->arc(crect(x1,y1,x2,y2),cpoint(x1,y1),cpoint(x1,y1));//貌似是個畫圓弧的

pdc->ellipse(x-r,y-r,x+r,y+r);//使用ellipse畫第1個半徑r的圓

pdc->ellipse(x-r2,y-r2,x+r2,y+r2);//使用ellipse畫第2個半徑r2的圓

pdc->selectobject(poldpen);//將pdc改回原來的畫筆

greenpen.deleteobject();//刪除畫筆

releasedc(pdc);//釋放pdc

ellipse原形為:

bool ellipse(hdc hdc, int nleftrect, int ntoprect, nrightrect, int nbottomrect);

引數:

hdc:裝置環境控制代碼。可以省略

nleftrect:指定限定矩形左上角的x座標。

ntoprect:指定限定矩形左上角的y座標。

nrightrect:指定限定矩形右下角的x座標。

nbottomrect:指定限定矩形右下角的y座標。

返回值:如果函式呼叫成功,返回值非零;如果函式呼叫失敗,返回值是0。

學習筆記 MFC 中的CDC類

cdc類定義的是裝置上下文物件的類,有稱裝置環境物件類。cdc物件提供處理 顯示器或印表機等裝置上下文 的成員函式,以及處理與 視窗客戶區對應的顯示上下文 的成員.cdc類及其派生類也是mfc中的乙個大類,和繪圖相關。通過cdc物件的成員函式進行所有的繪圖。cdc類操控圖形大體分兩類,一類是 畫畫兒...

MFC中用Asyncsocket類實現udp組播

void cudpgroupdlg onbnclickedbutton1 else void cudpgroupdlg onbnclickedbutton2 結果 簡單的實現了udp的組播,可以傳送,接收訊息。過程 由asyncsocket派生乙個類出來,過載onsend和onreceive 視窗類...

MFC畫刷類CBrush使用例項

畫刷類cbrush 利用畫筆可以畫圖形的邊框,而用畫刷就可以在圖形內著色。大多數的gdi繪圖函式既使用畫筆又使用畫刷,它們用畫筆繪製各種圖形的周邊,而用畫刷填充圖形,因而可以用一種顏色和風格去設定畫筆,而用另一種顏色和風格去設定畫刷,通過一次函式呼叫就可以繪製出形狀複雜的圖形。畫刷是由cbrush類...