有些事說出來顯得我不大度,但我確實不開心,如果你不懂我,那錯的都是我。。。
---- 網易雲熱評
一、新建MFC應用程式
二、在選單欄新加畫圖項
三、類嚮導新增繪圖命令,專案---類嚮導
四、顯示aiyou程式碼
void CMFC繪圖View::OnHuahua(){ //建立物件,在檢視物件裡畫 CClientDC dc(this); dc.TextOutA(100, 100, "aiyou");//::TextOut(dc.m_hDC, 100, 100, "hello client", strlen("aiyou"));}
五、執行結果
六、新增繪圖訊息
七、畫一個矩形
void CMFC繪圖View::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: 在此處新增訊息處理程式程式碼 // 不為繪圖訊息呼叫 CView::OnPaint() dc.Rectangle(100, 100, 300, 300); //::Rectangle( dc.m_hDC, 100, 100, 300, 300 );}
八、CGDIObject類講解
1、新建選單項,畫筆、畫刷、字型、點陣圖、複合圖
2、類嚮導新增相關的命令
3、程式碼如下:
void CMFC繪圖View::OnHuabi(){ CClientDC dc(this); //建立畫筆10畫素,紅色 CPen pen(PS_SOLID, 10, RGB(255, 0, 0)); /*CPen* oldpen = dc.SelectObject(&pen); dc.Ellipse(100, 100, 200, 200); //銷燬畫筆 dc.SelectObject(oldpen); pen.DeleteObject();*/ HGDIOBJ nOldPen = ::SelectObject(dc.m_hDC, pen.m_hObject); ::Ellipse(dc.m_hDC, 100, 100, 200, 200); ::SelectObject(dc.m_hDC, nOldPen); ::DeleteObject(pen.m_hObject);}void CMFC繪圖View::OnHuashau(){ CClientDC dc(this); CBrush brush(RGB(0, 255, 0)); CBrush* oldbrush = dc.SelectObject(&brush); dc.Ellipse(100, 100, 300, 300); dc.SelectObject(oldbrush); brush.DeleteObject();}void CMFC繪圖View::OnZiti(){ CClientDC dc(this); CFont font; font.CreatePointFont(100, "宋體"); CFont* oldfont = dc.SelectObject(&font); dc.TextOut(200, 100, "哎呦"); dc.SelectObject(oldfont); font.DeleteObject();}
4、從資源裡新增點陣圖
首先建立一個位圖
void CMFC繪圖View::OnWeitu(){ CClientDC dc(this); //新增資源 CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); CDC memdc; memdc.CreateCompatibleDC(&dc); CBitmap* oldbmp = memdc.SelectObject(&bmp); dc.BitBlt(200, 200, 48, 48, &memdc, 0, 0, SRCCOPY); memdc.SelectObject(oldbmp); bmp.DeleteObject(); memdc.DeleteDC();}
5、複合圖實現
void CMFC繪圖View::OnFht(){ CClientDC dc(this); CRgn rgn1, rgn2; rgn1.CreateEllipticRgn(100, 100, 300, 300); rgn2.CreateEllipticRgn(200, 200, 500, 500); //將基本圖形進行或運算 rgn1.CombineRgn(&rgn1, &rgn2, RGN_OR); //給複合圖形填充顏色 CBrush brush2(RGB(0, 255, 0)); dc.FillRgn(&rgn1, &brush2); //給複合圖形描繪線條 CBrush brush(RGB(255, 0, 0)); dc.FrameRgn(&rgn1, &brush, 10, 1);}
最新評論