如何检测CWnd *是CListCtrl还是CEdit ...?

时间:2018-08-01 14:23:50

标签: mfc

在程序中,我在对话框的所有子级上运行并根据控件类型设置其属性,但是如何从CWnd*中检测到控件类型

1 个答案:

答案 0 :(得分:2)

如果控件不是子类,则需要先确定类型,然后再对其进行子类化。 WinAPI函数GetClassName将为您提供帮助。

如果窗口已经被子类化,并且您通过任何其他函数获得了CWnd,则可以使用pWnd->IsKindOf(RUNTIME_CLASS(CEdit))方法来测试它是否为CEdit窗口。 CListCtrl或任何其他类也可以这样做。