Delphi: Как я могу получить Handle для компонента TComboBox? - PullRequest
3 голосов
/ 09 декабря 2010

Насколько я знаю, Combobox состоит из двух компонентов: Edit и ListBox.Как я могу получить Handle of Combobox, если у меня есть дескриптор его поля Edit?Я пытался использовать GetWindow (MyHandle, GW_HWNDNEXT), где MyHandle - это дескриптор Edit, который я знаю, но результат всегда равен 0. У кого-то есть идеи?

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

Окно редактирования является дочерним по отношению к окну ComboBox: используйте GetParent.

1 голос
/ 09 декабря 2010

TCustomCombo определяет свойства ListHandle и EditHandle.Они имеют защищенную видимость, но вы всегда можете получить их, используя подклассы или используя стандартный прием для доступа к защищенным членам:

0 голосов
/ 09 декабря 2010

Как вы получили ручку редактирования? Если вы сделаете Combobox1.Handle, вы получите дескриптор окна класса COMBOBOX.

Чтение http://msdn.microsoft.com/en-us/library/bb775792(VS.85).aspx

...