我的目的很简单,就是想给 在对话框上的 静态文本控件 填满色,然后画些其它的东西,可是发现结果只是给静态文本控件某一小块填色,什么原因? CRect rcTable;
GetDlgItem(IDC_STATIC)->GetClientRect(&rcTable);
CBrush brBlack(RGB(255,0,0)); CDC *pDC=GetDC();
pDC->FillRect(&rcTable,&brBlack);
GetDlgItem(IDC_STATIC)->GetClientRect(&rcTable);
CBrush brBlack(RGB(255,0,0)); CDC *pDC=GetDC();
pDC->FillRect(&rcTable,&brBlack);
GetDlgItem(IDC_STATIC)->GetWindowRect(&rcTable);
~~~~~~~~~~~~~~~~~~~~~~
ScreenToClient(rcTable);
CBrush brBlack(RGB(255,0,0)); CDC *pDC=GetDC();
pDC->FillRect(&rcTable,&brBlack);
CDC *pDC = GetDlgItem(IDC_STATIC)->GetDC(); //控件上,不是dialog上填充
CRect rect;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
如果你要改变尺寸,可以用下面的函数:
MoveWindow或SetWindowPos
(2)要在控件上画图,可以采用下面的方法:
CPaintDC dc(GetDlgItem(IDC_STATIC));
dc.MoveTo(0,0);
dc.lineTo(100,100);
看看在你的静态文本控件上有没有一条线啊!
只要了解了静态文本控件是从CWnd派生来的就可以了!