Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DateTimePicker DropDown Button zu breit (https://www.delphipraxis.net/187629-datetimepicker-dropdown-button-zu-breit.html)

TUX_der_Pinguin 16. Dez 2015 13:01

DateTimePicker DropDown Button zu breit
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo DPler,

ich habe in einer Software von mir etwas merkwürdiges festgestellt, auf meinen Testsystem ist alles in Ordnung jedoch bei zwei Kundenrechnern wird in der Komponente TDateTimePicker die DropDown Schaltfläche zu breit dargestellt das vom Datum nur die Hälfte des Jahres zu sehen ist.

Das Bild stammt von einem der Kundenrechnern, hier wird das Jahr abgeschnitten
Anhang 44463

Das zweite Bild stammt von einem unserer Windows 7 Testsysteme, alles ist in Ordnung
Anhang 44464

Wir haben beim Kunden Angefragt und auch hier Versuche durchgeführt ob es an der Skalierung liegt, das tut es aber nicht.

Hat jemand eine Idee wodurch dieser Effekt ausgelöst werden könnte?

mfg

TUX

Uwe Raabe 16. Dez 2015 14:14

AW: DateTimePicker DropDown Button zu breit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von TUX_der_Pinguin (Beitrag 1324616)
Das zweite Bild stammt von einem unserer Windows 7 Testsysteme, alles ist in Ordnung

Also, ich finde das nicht in Ordnung, denn eigentlich sollte links von dem Down-Pfeil noch ein Kalendersymbol sein. Das Feld ist also definitiv zu klein.

Der Unterschied könnte aber von einer anderen Version der CommCtrl herrühren.

TUX_der_Pinguin 16. Dez 2015 14:49

AW: DateTimePicker DropDown Button zu breit
 
Liste der Anhänge anzeigen (Anzahl: 1)
So ich habe mal einen Versuch gemacht und die Komponente sukzessiv kleinert bzw. vergrößert .. ab einem bestimmten Punkt wird das Kalender Icon angezeigt bzw. nicht mehr angezeigt. Aber in keiner Situation wird die "Schaltfläche" breiter als nötig dargestellt und mit dem Pfeil in der mitte, wie beim Kundenrechner.

Die Software wird unter Delphi 2009 entwickelt, die Komponente stammt aus der Unit "ComCtrls" und nicht aus "CommCtrl"

Anhang 44468

Uwe Raabe 16. Dez 2015 16:01

AW: DateTimePicker DropDown Button zu breit
 
Zitat:

Zitat von TUX_der_Pinguin (Beitrag 1324636)
Die Software wird unter Delphi 2009 entwickelt, die Komponente stammt aus der Unit "ComCtrls" und nicht aus "CommCtrl"

Unter Delphi 10 Seattle stammt die zwar aus Vcl.ComCtrls, aber das war auch nicht gemeint. Ich kann jetzt nicht für D2009 sprechen, weil ich das gerade nicht parat habe, aber Vcl.ComCtrls.pas verwendet intern die Winapi.CommCtrl.pas (benannt nach der CommCtrl.h der Windows-API). Diese greift wiederum auf die System-DLL comctl32.dll zu, von der verschiedene Versionen im Umlauf sind (siehe hier). Ich würde mal die Version dieser DLL bei dem betroffenen Kunden checken.

TUX_der_Pinguin 18. Dez 2015 07:32

AW: DateTimePicker DropDown Button zu breit
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1324654)
Unter Delphi 10 Seattle stammt die zwar aus Vcl.ComCtrls, aber das war auch nicht gemeint. Ich kann jetzt nicht für D2009 sprechen, weil ich das gerade nicht parat habe, aber Vcl.ComCtrls.pas verwendet intern die Winapi.CommCtrl.pas (benannt nach der CommCtrl.h der Windows-API). Diese greift wiederum auf die System-DLL comctl32.dll zu, von der verschiedene Versionen im Umlauf sind (siehe hier). Ich würde mal die Version dieser DLL bei dem betroffenen Kunden checken.

Vielen dank für den Tipp, ich verstehe zwar noch nicht so genau ob und wie ich steuern kann das die "richtige" DLL verwendet wird aber ich denke das ich eine Lösung dafür finden werde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz