Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ComboBox wird falsch gezeichnet

  Alt 27. Okt 2011, 11:41
Ich habe jetzt TCsCustomPanel von den anderen Komponenten getrennt und in eine eigene Unit verfrachtet (siehe Anhang).

Hat jemand eine Idee wieso der Fehler auftritt?

K.a. obs daran liegt, aber im Paint setzt Du (bei FEnableHoverColor=True) dein Color auf FHoverOverColor. Was macht denn der Setter von TPanel.Color.... nicht das der Paint aufruft und damit alles durcheinander kommt. Großartig aufregend ist das TPanel.Paint ja nicht (Fill) sodaß Du das vielleicht noch selbst hinkriegen könntest, ohne Color zu setzen...
Der Setter von Color macht folgendes:
Delphi-Quellcode:
procedure TControl.SetColor(Value: TColor);
begin
  if FColor <> Value then
  begin
    FColor := Value;
    FParentColor := False;
    if (csDesigning in ComponentState) and not (csReading in ComponentState) and (Self is TWinControl) then
      TWinControl(Self).ParentBackground := False;
    Perform(CM_COLORCHANGED, 0, 0);
  end;
end;
Den Hintergrund selbst zeichnen löst leider nicht das Problem mit der ComboBox.

Alle anderen Controls werden übrigens korrekt gezeichnet.
Angehängte Dateien
Dateityp: pas CsPanels.pas (7,7 KB, 5x aufgerufen)
Andreas Lauß
Blog
  Mit Zitat antworten Zitat