为什么在对话框的OnInitDialog处理函数中无法获取Datagrid控件的窗口句柄?
我在对话框(无模式,可变尺寸)上放置了一个Datagrid控件,因为要获取Datagrid的控件的句柄以进行某些窗口设置,当调用GetDlgItem(IDC_DATAGRID1)时(IDC_DATAGRID1为Datagrid控件的ID),返回值总为0,请问这是为什么? 问题点数:20、回复次数:2Top
1 楼yeyuboy(海绵)回复于 2005-03-09 08:38:26 得分 0
因为要考虑用于非VC环境,我原来的代码是SDK风格;原来获取子窗口句柄的方式为:
HWND hwndChild = ::GetDlgItem(hParentWnd, IDC_CHILDWNDID)
现在将代码改成MFC风格:
CWND* lpChildWnd = lpParendDlg->GetDlgItem(IDC_CHILDWNDID);
if(lpChildWnd)
HWND hwndChild = lpChildWnd->GetSafeHwnd();
竟然又可以了,我的对话框上还放了TAB控件,用SDK代码获取子窗口句柄的方式可以工作,但不知道为什么用于DATAGRID控件时,又不行。Top
2 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-03-25 19:15:18 得分 20
gzTop
相关问题
- OnInitDialog()和对话框的构造函数有什么区别啊?
- 对话框初始化函数OnInitDialog()问题。
- vs.net中vc++如何添加对话框的OnInitDialog()函数?
- 怎么让系统为我生成对话框的OnInitDialog函数
- **********************请问如何在一个全局函数中得到一个对话框的句柄*******************
- 已知道一个对话窗口的句柄(hwndDlg),用什么函数可以得到对话框上任意控件的窗口句柄?
- 对话框 函数给
- 对话框创建的问题-不执行OnInitDialog()初始化函数
- 如何获取对话框的句柄???
- 询问一个API函数,知道一个对话框的句柄及对话框上相关子控件的ID ,有什么函数可以设置使子控制变灰(得不到焦点)




