MFC随笔2.17

1.MFC类库为提供了CWnd::GetDlgItem函数,可以用它将ID转化成一个CWnd指针,如果需要把CWnd指针转化成一个控件ID,则可以使用MFC中CWnd类的GetDlgCtrlID成员函数

 2.如果想显示文本,可以利用对话框编辑器来创建一个具有特殊ID的空的静态控件,然后再在对话框的成员函数中(如OnInitDialog)调用CWnd::SetDlgItemText函数,以便在该控件中显示文本

    如果想显示图形的话,此时必须利用ClassWizard往对话框中加入OnPaint成员函数,该函数必须将静态控件的ID转化成CWnd指针,然后再得到它的设备环境。我们可以利用Invalidate/UpdateWindow这一调用序列达到即在控件窗口内绘图,又防止Windows对它进行重复绘制的效果。下面给出了一个OnPaint函数,它可以在一个静态控件中绘制一个小的黑方块。

 1 Void CMyDialog::OnPaint()
 2 {
 3    CWnd* pWnd=GetDlgItem(IDC_STATIC1);
 4    CDC* pControlDC=pWnd->GetDC();
 5    pWnd->Invalidate();
 6    pWnd->UpdateWindow();
 7    pControlDC->SelectStockObject(BLACK_BRUSH);
 8    pControlDC->Rectangle(0,0,10,10);
 9    pWnd->ReleaseDC(pControlDC)
10 }

 

posted @ 2013-02-17 09:57  希格绍尔  阅读(319)  评论(0编辑  收藏  举报