2011-08-15 56 views
0

我在MSDN中搜索了很长时间,找不到它。获取窗口控件的API方法

事实上,我甚至不知道如何在API中调用控件。他们没有被宣布为“窗口”,对吧? (对他们来说没有hwnd,我不确定,因为我看到了一种看起来像是可以返回控制权的方法,但它返回一个hwnd。)

因此可以说我有一个窗口的句柄。我想要接收它的控件(文本框,按钮,复选框....)

有什么方法可以做到这一点?再次,API如何调用控件? 感谢帮手。

回答

5

它们被称为Windows,HWND是这些窗口的句柄,就像fopen()返回文件的句柄一样。 These是您需要的所有功能。尝试EnumChildWindows

+3

['GetDlgItem'](http://msdn.microsoft.com/en-us/library/ms645481%28v=vs.85%29.aspx)对于获取对话框的控件也非常有用。 –

+0

因此,控件的句柄仍然称为hwnd。好吧,我已经看过EnumChildWindows了,但是我不知道如何决定哪个句柄是我需要的。有关于此的任何想法? – Jong

+0

这取决于你在找什么。如果您知道HMENU用于创建所述控件(例如您创建了该窗口),那么您可以像Adam建议的那样使用'GetDlgItem'。否则,你应该找到所述控件的一些显着属性并检查它(例如,类名称,标题等) – 2011-08-15 21:47:43