各位高手:
请问如何用GetDlgItem获得指定窗口的指定控件的句柄?
比如我想获得CDemo界面下某个combobox的句柄,如何指定参数1呢??
函数原型:HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
CDemo * p;
HWND hwnd = ::GetDlgItem(p->GetSafeHwnd(),IDC_IQRATE_COMBO); //黑体部分不知道怎么写
CComboBox* combo = (CComboBox*)FromHandle(hwnd);
combo->EnableWindow(FALSE);错误:访问冲突。
谢谢!!
请问如何用GetDlgItem获得指定窗口的指定控件的句柄?
比如我想获得CDemo界面下某个combobox的句柄,如何指定参数1呢??
函数原型:HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
CDemo * p;
HWND hwnd = ::GetDlgItem(p->GetSafeHwnd(),IDC_IQRATE_COMBO); //黑体部分不知道怎么写
CComboBox* combo = (CComboBox*)FromHandle(hwnd);
combo->EnableWindow(FALSE);错误:访问冲突。
谢谢!!
int nID
) const;p->GetDlgItem(IDC_IQRATE_COMBO);
GetDlgItem(IDC_IQRATE_COMBO)->EnableWindow(FALSE);
问题补充:
我是从另外一个类里调用GetDlgItem这个函数,所以需要指定具体是哪个窗口。
2楼的方法我之前用过,报错说冲突。
然后用这个窗口对象来调用GetDlgItem才行。
常规做法在B窗口中发消息,A窗口根据消息内容执行操作
CWnd* pwnd = CWnd::FromHandle(hDlg);
if(pwnd)
{
pwnd->GetDlgItem(IDC_IQRATE_COMBO)->EnableWindow(FALSE);
}