我想通过对话框窗口指针遍历对话框内所有控件,并判断每个控件的类型。如果是编辑控件,就将其内容设置为“666”。代码如下:
CWnd* pwndChild;
pwndChild = GetWindow(GW_CHILD);
while( pwndChild != NULL )
{
if( pwndChild->IsKindOf( RUNTIME_CLASS( CEdit )))
{
pwndChild->SetWindowTextW( _T("666") );
}
pwndChild = pwndChild-> GetWindow(GW_HWNDNEXT);
}
程序可以编译通过,但运行后,对话框上的编辑控件却无任何反应。后来,我把条件语句
if( pwndChild->IsKindOf( RUNTIME_CLASS( CEdit )))
去掉了,则对话框上的所有控件窗口包括按钮、静态控件窗口内容都被改成了“666”,我想请教一下,条件语句问题出在哪里,为什么不能正确判断空间类型?
------解决方案--------------------------------------------------------
http://www.codeproject.com/Questions/134067/IsKindOf-RUNTIME_CLASS-CEdit
http://topic.csdn.net/u/20100724/09/642e0ca9-2cbb-46b2-92a8-c5040dbb7728