Я думаю, это еще одна причина, по которой стили VCL еще не готовы к использованию.TDateTimePicker VCL Стили сглаживания в XE2, что происходит только на Windows Classic Theme
Управление TDateTimePicker отлично выглядит без стилей VCL. Включите любой стиль VCL, и я получаю этот вид:
Я могу отключить стили VCL именно для этого типа компонента, регистрируя крючок стиля, но это выглядит очень некрасиво.
Это на Delphi XE2 с установленным обновлением 4.
В идеале, я надеюсь, что есть способ обхода или некоторые свойства элемента выбора даты или какого-либо подкласса datetimepicker, который я мог бы сделать, чтобы заставить сборщик datetime правильно рисовать и тему.
Обратите внимание, что обычные комбинированные ячейки правильны. Обратите внимание, что это легко воспроизводится в максимально возможном проекте минимальной выборки. Да. Это еще одна проблема с стилями.
Обновление Возможно, это относится к платформе, связанной с версиями Windows Common Controls Windows Server 2008 R2 без Aero («Desktop Experience» в терминах компонентов сервера Windows). Мне просто пришло в голову, что другие люди не могут воспроизвести его, чтобы попробовать это на нескольких разных машинах Windows. После этого я обнаружил, что проблема только воспроизводится в Windows Server 2008 R2. Некоторые из наших клиентов используют Windows Server 2008 R2. Как вы знаете, основная причина использования VCL Styles заключается в том, что приложение делает его одинаковым, независимо от того, что такое тема Windows. Однако в приведенном выше примере все темы приложений должным образом, за исключением элемента управления DateTimePicker, который неправильно указан, и только на Windows Server 2008 R2. Одно и то же приложение на основе XE2 отлично работает в Windows 7.
В рабочей и нерабочей системе есть файл ComCtl32.dll в папке SysWow64 с версией 5.82.7601.17514. Тем не менее, очевидно, что внешний вид и внешний вид этих элементов управления различны, когда темы VCL отключены, и это влияет на код скиннинга, который терпит неудачу.
Update2: Сообщил как ошибка: QC Entry 106783
Некоторое время назад я пытался использовать стили VCL, но столкнулся с некоторыми непредвиденными проблемами, которые не чувствуют, что они были «мое» - скорее, они, казалось, в самом коде Стили VCL. Конечно, какой программист считает, что его собственный код вызывает проблему? :-) Наша потребность в стилях не была срочной, и, будучи нажатой на время, я отказался от усилий. Ваши слова «Я думаю, это еще одна причина, по которой стили VCL не готовы к использованию», напомнил мне обо всем этом. Сейчас я просто не вижу ничего, что указывало бы на то, что стили VCL имели проблемы. Можете ли вы уточнить свое заявление? – RobertFrank
@Robert Поиск в Stack Overflow и QC для стилей VCL, и вы увидите, что эта функция - это функция, предшествующая альфа-проверке ошибок. Также как FMX. –
+1 @David. Спасибо. – RobertFrank