据我所知,组合框由两个组件组成: Edit和ListBox。如何获得组合框的句柄,如果我有它的编辑字段的句柄?我尝试使用GetWindow( MyHandle,GW_HWNDNEXT),其中MyHandle是我知道编辑句柄,但结果始终为0。有人有什么想法吗?
非常感谢。
发布于 2010-12-09 21:09:18
编辑窗口是ComboBox窗口的子窗口: Use GetParent。
发布于 2010-12-09 22:03:15
TCustomCombo定义了ListHandle和EditHandle属性。它们具有受保护的可见性,但您始终可以通过子类化或使用标准技巧来获取受保护的成员:
type
TCheatComboBox = class(TComboBox);
function GetListHandle(Combo: TComboBox): HWND;
begin
Result := TCheatComboBox(Combo).ListHandle;
end;发布于 2010-12-09 21:26:36
您是如何获得Edit的句柄的?如果你使用Combobox1.Handle,你会得到一个COMBOBOX类窗口的句柄。
阅读http://msdn.microsoft.com/en-us/library/bb775792(VS.85).aspx
https://stackoverflow.com/questions/4398466
复制相似问题