建立了一個基于對話框或基于CFormView的應用程式,
拖入了一個長方形的Picture類型控件,控件的ID為IDC_PIC1,type為Frame,(Type還有Rectange、BitMap等類型)
Sunken、Border為選中狀态,
現在想在該控件中畫圖,
實作方法為,在OnDraw函數中加入以下代碼:
CRect rect;
CWnd *pWin = GetDlgItem(IDC_PIC1);//擷取該控件的指針,就可以對該控件直接操作了
pWin->GetClientRect(rect);//把控件的長寬、坐标等資訊儲存在rect裡
int width=rect.Width();//可以擷取寬和高
int height=rect.Height();
CString str;
str.Format("高度為:%d,寬度為:%d",height,width);
AfxMessageBox(str,MB_YESNO|MB_ICONSTOP,0);
CDC *pDc = pWin->GetDC();//擷取該控件的畫布
//有了畫布,下面可以自由的畫圖了,想怎麼畫就怎麼話,
pDc->Rectangle(rect);
CBrush myBrush;
myBrush.CreateSolidBrush(RGB(192,250,233));
pDc->FillRect(rect,&myBrush);
其實,實作起來很簡單,關鍵語句就是加粗體的語句
即,要擷取某個區域的指針,然後擷取畫布