拖入了一个长方形的Group类型控件,控件的ID为IDC_MYSTATIC,现在想在该控件中画图。实现起来很简单:要获取某个区域的指针,然后获取画布
CDC
void CGroupDrawDlg::OnPaint()
{
......
CWnd *pWin = GetDlgItem(IDC_MYSTATIC);//获取该控件的指针,就可以对该控件直接操作了
CRect rect;
pWin->GetClientRect(rect);//把控件的长宽、坐标等信息保存在rect里
int width = rect.Width();//可以获取宽和高
int height = rect.Height();
//有了画布,下面可以自由的画图了,想怎么画就怎么话,
CDC *pDc = pWin->GetDC();//获取该控件的画布
pDc->Rectangle(rect);
CBrush myBrush;
myBrush.CreateSolidBrush(RGB(192, 250, 233));
pDc->FillRect(rect, &myBrush);
CDC *pDC2 = pWin->GetDC();
POINT aPoint[5] = { 50,50,50,100,100,100,100,50,50,50 };
CPen penBlue(PS_SOLID, 2, RGB(128, 0, 128));
CPen* pOldBrush = pDC2->SelectObject(&penBlue); //将画刷颜色赋予*pDC
pDC2->Polyline(aPoint, 5);
ReleaseDC(pDc);
ReleaseDC(pDC2);
}
CClientDC
对组框添加变量CStatic m_group;
CClientDC dc(&m_group);//this一般指向本窗口或当前活动视图
POINT po[5] = { 100,0 ,200,100 ,100,200 ,0,100,100,0 }; //给定坐标
dc.Polyline(po, 5);//给数组.以及数组大小.