Laden...

Datetimepicker: Cursor-Farbe in Combobox verschwindet bei Überschreiben der Hintergrundfarbe

Letzter Beitrag vor 12 Jahren 4 Posts 1.025 Views
Datetimepicker: Cursor-Farbe in Combobox verschwindet bei Überschreiben der Hintergrundfarbe

Hey,

Ich habe einen Datetimepicker, bei dem ich die Hintergrundfarbe angepasst habe.
Dazu habe ich die "OnPaint-Methode" der Klasse DateTimePicker mit einer eigenen überschrieben. Somit kann ich die Combobox mit einem Rectangle mit der entsprechenden Farbe füllen. --> Funktioniert.

Problem ist, dass ich jetzt nicht mehr den Cursor sehe (ursprünglich wird der markierte Wert mit blauer Hintergrundfarbe dargestellt). Jetzt allerdings sieht man diese Einfärbung nicht mehr, wenn man in der Combobox einen Tag, Monat, Jahr usw. markiert. Funktionalität ist da, aber man kann es leider nicht mehr erkennen. Im Web hab ich dazu leider nichts gefunden.

Kennt jemand das PRoblem und weiß wie man das lösen kann?

Danke vielmals und Grüße

Hallo Adleano,

naja, im OnPaint nur einen Teil der Funktionalität zu ersetzen, ist immer schwierig. Ich denke, du muss ganz oder gar nicht zeichnen.

herbivore

Hallo herbivore,

danke für die Antwort.
Wenn ich dich richtig verstanden habe, müsste ich also auch das Rechteck für den Cursor manuell zeichen? Wenn ja, wie bekomme ich dann die richtige Cursor-Position und Größe heraus, um das Rechteck entsprechend zu zeichnen?
Oder gibt es dazu ein Beispiel?

Hallo Adleano,

es gibt Steuerelemente, die darauf eingerichtet sind, dass der Benutzer (einen Teil) selber zeichnet (OwnerDrawn). Die stellen dann alle Informationen zur Verfügung, die der Benutzer braucht, um zu wissen, was er wo und wie zeichnen muss. Bei Controls die nicht darauf eingerichtet sind, ist es Glückssache, ob man an benötigten Informationen kommt (wobei Reflection dem Glück möglicherweise eine zweite Chance geben kann). Bei Controls, die nicht aufs Selberzeichnen durch den Benutzer eingerichtet sind, ist das OnPaint meistens monolithisch. Deshalb mein obiger Hinweis. Der war jedoch nicht so gemeint, dass "ganz" ganz einfach wäre. Im Gegenteil, manchmal ist es nicht möglich, "ganz" zu zeichnen, ohne alles von Grund auf neu zu machen.

herbivore