Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#19

AW: dbGrid Zeile farbig markieren und fokusieren

  Alt 26. Okt 2011, 15:59
Mein's war nur als Anregung gedacht. Du solltest das nutzen, um die Funktion UnterschiedFeststellen von DeddyH anzupassen, falls nicht die Zelle mit der in der Reihe davor, sondern falls die ganze Zeile mit der ganzen Zeile davor verglichen werden soll (so hatte ich deine Anforderung verstanden). Wenn ich das natürlich falsch aufgefasst habe, vergiss den Vorschlag.
Sehe gerade, du willst immer Spalte 2 testen, wo wahrschl. die ID oder so steht??? Dann die Funktion von DeddyH beibehalten.

Zum Farbwechsel: Hab kein Delphi gerade, daher ungetestet, habs mir so vorgestellt, k.A. ob das so geht:

Delphi-Quellcode:
//[...]
else
  if UnterschiedFeststellen(2, ARow) then //Farbwechsel
      Begin
        if canvas.Brush.Color = clWhite then canvas.Brush.Color := clBlack
        else canvas.Brush.Color := clWhite;
      end
      else
      Begin
      //Mach nix, sprich Farbe beibehalten
      end

  Canvas.FillRect(Rect);
  Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]
Nachtrag: Den "//Mach nix"-Zweig sollte man natürlich weglassen, war nur zur Verdeutlichung.
Ich weiß halt nicht ob "if canvas.Brush.Color = clWhite" so geht, sprich, ob man sehen kann, welches die aktuelle Farbe ist. Falls nicht, musst du dir den jeweiligen Zusatand in einer variablen selber merken.
Ralph

Geändert von Jumpy (26. Okt 2011 um 16:05 Uhr)
  Mit Zitat antworten Zitat