为什么我在ATL的资源文件中找不到控件ID?

时间:2008-11-03 12:00:13

标签: c++ visual-c++ atl

由于我需要根据我的应用中的焦点控件进行一些检查,因此我得到了这样的焦点控件ID:

HWND controlOnFocus = ::GetFocus();
int controlID = ::GetDlgCtrlID(controlOnFocus);

我获得了一致的ID,但我在资源文件中找不到它们! 我可以依靠我得到的ID或者什么?

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您的代码片段从当前焦点的任何窗口获取控件标识符。您的应用程序可能包含许多您自己未创建的窗口,例如常用对话框,并且这些窗口的ID不在您的资源文件中。此外,并非所有窗口都有有用的控件ID;例如,静态文本控件通常具有ID_STATIC(-1?)。