Я обнаружил, что причина такого поведения в том, что TDBLookupComboBox
является потомком TCustomControl
. Большинство подобных элементов управления являются потомками TCustomEdit
, TCustomComboBox
или TCustomListBox
, которые все вызывают TWinControl.CreateSubClass
, чтобы использовать предварительно зарегистрированный класс системного окна из EDIT
, COMBOBOX
и LISTBOX
соответственно.
Поскольку ни TDBLookupComboBox
, ни кто-либо из его предков не делают этого, он просто получает простую границу из-за флага WS_BORDER
в его Params.Style
.
Я собираюсь предположить, что есть веская причина, по которой TDBLookupComboBox
не вызывает CreateSubClass
, чтобы получить Windows COMBOBOX
, но я не уверен, почему. Возможно, будущая версия VCL
будет использовать это.