Einzelnen Beitrag anzeigen

Jack and the Juice

Registriert seit: 15. Jan 2011
Ort: Lübeck
52 Beiträge
 
#1

Image in DBGrid zeichnen - Problem mit Text

  Alt 5. Feb 2011, 15:01
Hallo,
ich zeichne mit folgendem Code ein Image in die Zeilen eines DBGrids.

Delphi-Quellcode:
    fixRect := Rect;
    if Column.Field = dbgrid1.Fields[0] then
       begin
         bitmap := TBitmap.Create;
          try
            ImageList5.GetBitmap(imgIndex,bitmap);
            bmpWidth := (Rect.Bottom - Rect.Top);
            fixRect.Right := Rect.Left + bmpWidth;
            DBGrid1.Canvas.StretchDraw(fixRect,bitmap);
          finally
          bitmap.Free;
          end;
       fixRect := Rect;
       fixRect.Left := fixRect.Left + bmpWidth;

       DBGrid1.DefaultDrawColumnCell(fixRect,
               DataCol,
               Column,
               State);
        end;
Funktioniert auch alles bestens, allerdings würde ich gerne DrawingStyle:=gdsGradient setzen. Sobald ich diese Eigenschaft setze, wird der Text nicht mehr richtig dargestellt. Sobald die entsprechende Zeile ausgewählt wird, wird sowohl der verschobene Text, als der der Ursprungstext angezeigt, was natürlich zu einer unschönen Überlappung führt. Wird DrawingStyle:=gdsClassic ausgewählt, funktioniert alles problemlos. Im Notfall würde ich auf die Classic-Variante zurückgreifen, aber imho macht die Gradient-Variante doch mehr her.

Vielen Dank für Eure Hilfe,
Jackandthejuice
  Mit Zitat antworten Zitat