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*的指針