TextRect bei farbiger ComboBox falsch

Rund um die LCL und andere Komponenten
Antworten
alexander
Beiträge: 423
Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:

TextRect bei farbiger ComboBox falsch

Beitrag von alexander »

Hi,

also ich habe (da ich es brauche) mir eine farbige Listbox und Combobox programmiert.
Die Listbox klappt super, doch bei der Combobox ist das ARect irgendwie falsch...
Siehe Bild im Anhang.

Doch es hat einige Zeit mal funktioniert. Ich habe keine Ahnung wieso...

Der wichtige Code ist dieser:

Code: Alles auswählen

procedure TColoredComboBox.DrawItem(Index: Integer; ARect: TRect; State: TOwnerDrawState);
begin
  if Assigned(OnDrawItem) then
    OnDrawItem(Self, Index, ARect, State)
  else if (Index>=0) and (Index < Items.Count) then
    begin
    if (0<=Index) and (Index<=FItemColors.Count-1) then
      if DroppedDown and (odSelected in State) then
        Canvas.Font.Color:=clHighlightText
      else
        Canvas.Font.Color:=StringToColor(FItemColors.Strings[Index]);
    if (0<=Index) and (Index<=FItemBackgroundColors.Count-1) then
      if DroppedDown and (odSelected in State) then
        Canvas.Brush.Color:=clHighlight
      else
        Canvas.Brush.Color:=StringToColor(FItemBackgroundColors.Strings[Index]);
 
    Canvas.FillRect(aRect);
    Canvas.Brush.Style := bsClear;
    Canvas.TextRect(aRect, aRect.Left + 2, aRect.Top, Items[Index]);
    end;
end;
Ich verändere eigentlich garnichts am ARect das ist ja das seltsame....

Wisst ihr weiter? Wieso ist das aRect falsch? Es muss doch eigentlich richtig sein....

Gruß Alexander
Dateianhänge
Bildschirmfoto-1.png
Bildschirmfoto-1.png (1.66 KiB) 1089 mal betrachtet
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Was ist denn Falsch ? Auf dem Bild ist nicht viel zu sehen. :(
MFG
Michael Springwald

alexander
Beiträge: 423
Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von alexander »

hmmm na ja das Rect liegt halt ganz links oben anstadt, da wo der Text eigentlich ist....
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Verstehe ich immer noch nicht so ganz. Genau so mache ich das auch immer wie du es gemacht hast. z.b. bei meiner ColorListBox bzw. ColorComboBox.
MFG
Michael Springwald

alexander
Beiträge: 423
Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von alexander »

;-) wie man es macht glaube ich hast du mir empfohlen :-D
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu

Antworten