Sądzę, że jest to kolejny powód, dla którego style VCL nie są jeszcze gotowe do użycia.TDateTimePicker VCL Style glitch w XE2, który zdarza się tylko w Windows Classic Theme
Kontrola TDateTimePicker wygląda dobrze bez stylów VCL. Włącz dowolnym stylu VCL, a ja dostać ten wygląd:
mogę wyłączyć style VCL tylko dla tego typu części, rejestrując hak styl, ale wygląda naprawdę brzydki.
Jest to na Delphi XE2 z zainstalowaną aktualizacją 4.
Idealnie, mam nadzieję, że istnieje obejście lub niektóre właściwości próbnika datetime lub jakiejś podklasy datetimepicker, którą mógłbym zrobić, aby zmusić próbnik do datetime do poprawnego malowania i tematu.
Należy pamiętać, że zwykłe comboboxy mają właściwy styl. Zauważ, że to się łatwo odtwarza w najbardziej minimalnym projekcie, jaki można sobie wyobrazić. Tak. To jest jeszcze jeden błąd w stylu.
Aktualizacja Może to być platforma specyficzne, związane z systemem Windows Common Controls wersji Windows Server 2008 R2 bez Aero ("pulpit" w ujęciu składnik serwera Windows). Po prostu przyszło mi do głowy, gdy inni ludzie nie mogą go odtworzyć, aby wypróbować to na kilku różnych komputerach z Windows. Po tym stwierdziłem, że problem występuje tylko w systemie Windows Server 2008 R2. Niektórzy z naszych klientów korzystają z systemu Windows Server 2008 R2. Jak wiesz, głównym powodem używania stylów VCL jest to, że sprawia, że Twoja aplikacja wygląda tak samo niezależnie od motywu systemu Windows. Jednak w powyższym przypadku cała aplikacja porusza się poprawnie, z wyjątkiem formantu DateTimePicker, który jest niepoprawnie tematycznie i tylko w systemie Windows Server 2008 R2. Ta sama aplikacja demo na XE2 działa dobrze na Windows 7.
Zarówno działający, jak i niepracujący system ma ComCtl32.dll w folderze SysWow64 z wersją 5.82.7601.17514. Jednak wyraźnie natywny układ i wygląd tych elementów sterujących jest inny, gdy motywy VCL są wyłączone, co wpływa na kod skórny, który kończy się niepowodzeniem.
Update2: Zgłoszone jako błąd: QC Entry 106783
Jakiś czas temu, starałem się używać stylów VCL ale wpadł niektórych nieoczekiwanych problemów, które nie czują się tak, jakby były „moje” - raczej wydawało się być w VCL kod samego Style. Oczywiście, co programista myśli, że jego własny kod jest przyczyną problemu? :-) Nasza potrzeba stylów nie była pilna, a naciskanie na czas, porzuciłem wysiłek. Twoje słowa "Przypuszczam, że jest to kolejny powód, dla którego style VCL nie są jeszcze gotowe do użycia", przypomniało mi to wszystko. W Google już nie widziałem niczego, co wskazywałoby, że style VCL mają problemy. Czy możesz wyjaśnić swoje oświadczenie? – RobertFrank
@Robert Wyszukaj przepełnienie stosu i QC dla stylów VCL, a zobaczysz, że ta funkcja jest funkcją pre-alpha z obsługą błędów. Podobnie jak FMX. –
+1 @David. Dziękuję Ci. – RobertFrank