GetDlgItem有API的和CWnd的,
API函数有两个参数,第一个是要获得控件的窗口指外地,第二个参数是要获得控件的ID标识,返回的则是该控件的窗口句柄
CWnd的成员函数GetDlgItem(),就忽略了窗口句柄,只有一个参数,就是要获得控件的ID标识,返回的则是该控件的CWnd*的指针
void GetDlgItem(
int nID,
HWND* phWnd
) const
AIP用法讲解
CEdit * output;
output =(CEdit *) GetDlgItem(IDC_EDIT1); //首先获得CEdit控件的指针
output->SetWindowText(m_sShowText); //添加显示内容
上面就是通过GetDlgItem获得指向Edit控件的指针
或者
CWnd::GetDlgItem 是CWnd的成员函数,如果在CWnd派生的类中使用,可直接使用
CWnd* pWnd = GetDlgItem(ID_XXX);
否则,用SDK函数
HWND GetDlgItem(
HWND hDlg, // handle to dialog box
int nIDDlgItem // control identifier
);
这样用:
HWND hWnd;
hWnd= ::GetDlgItem(hWndParent, ID_XXX);
CWnd* pWnd = CWnd::FromHandle(hWnd); //从句柄到指针:
或创建一个CWnd对象Attach上去,比如:
pWnd->attach(Hwnd);
API函数有两个参数,第一个是要获得控件的窗口指针,第二个参数是要获得控件的ID标识,返回的则是该控件的窗口句柄
CWnd的成员函数GetDlgItem(),就忽略了窗口句柄,只有一个参数,就是要获得控件的ID标识,返回的则是该控件的CWnd*的指针