Как заставить DBLookupcombobox иметь Windows 7 Look с RAD 2010? - PullRequest
0 голосов
/ 05 апреля 2010

Я использую RAD 2010 на Windows 7, и все визуальные компоненты выглядят нормально (например, Edit, DBCombobox), но dblookupcombobox имеет ту же тему границы из Windows XP. Я не могу найти, как сделать это выглядит как другие компоненты. Кто-нибудь знает, как я могу это сделать?
Спасибо PS: Извините за плохой английский.

1 Ответ

3 голосов
/ 08 сентября 2010

Я обнаружил, что причина такого поведения в том, что TDBLookupComboBox является потомком TCustomControl. Большинство подобных элементов управления являются потомками TCustomEdit, TCustomComboBox или TCustomListBox, которые все вызывают TWinControl.CreateSubClass, чтобы использовать предварительно зарегистрированный класс системного окна из EDIT, COMBOBOX и LISTBOX соответственно.

Поскольку ни TDBLookupComboBox, ни кто-либо из его предков не делают этого, он просто получает простую границу из-за флага WS_BORDER в его Params.Style.

Я собираюсь предположить, что есть веская причина, по которой TDBLookupComboBox не вызывает CreateSubClass, чтобы получить Windows COMBOBOX, но я не уверен, почему. Возможно, будущая версия VCL будет использовать это.

...