Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Da hilft dann leider nur Durchsteppen. Ich habe da rein gefühlsmäßig RecNo in Verdacht, die solltest Du einmal überprüfen.
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Das kann ich Dir leider nicht sagen. Ich selbst habe am Grid überhaupt nichts geändert, sondern nur das Ereignis behandelt.
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Tja, ich weiß es auch nicht. Bei mir klappt es so wunderbar:
procedure TFRM_Main.DBG_RechnerDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
grid: TDBGrid;
farbe: TColor;
begin
grid := Sender as TDBGrid;
if (gdSelected in State) then
begin
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
OK, in meinem 2. Codebeispiel war ein end zuviel, nachdem ich das rausgelöscht habe, lässt sich das Projekt unter XE kompilieren. Ich habe keine Ahnung, was das sein könnte.
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Ist das jetzt eine Meldung von ErrorInsight, oder lässt sich das Projekt faktisch nicht kompilieren?
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Das verstehe ich nicht, da das eine Methode von TCustomDBGrid ist.
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Komisch. Wie ist es so?
procedure TFRM_Main.DBG_RechnerDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
farbe: Integer;
begin
with (Sender as TDBGrid) do
begin
if (gdSelected in State) then
begin
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Hast Du DefaultDrawing auf false gesetzt?
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Das sollte so richtig sein, zumindest ist mir nichts Negatives aufgefallen.
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Entweder über die "Helm"-Schaltfläche im Beitragseditor oder händisch mit Code (ohne Leerzeichen). Und wie gesagt, das geht auch anders:
if Odd(DM_Rechner.ADO_DS_Rechner.RecNo) then
farbe := clSilver
else
farbe := clWhite;
//oder auch
if (DM_Rechner.ADO_DS_Rechner.RecNo and 1) = 0 then
farbe := clWhite
else
Forum: Programmieren allgemein
Delphi
by DeddyH,
4. Okt 2011
Benutze doch bitte Delphi-Tags, dann ist der Code auch besser zu lesen. Und Deine Ermittlung gerader/ungerader Zeilen erscheint mir doch sehr kompliziert, wieso nicht einfach Odd() oder mod 2 benutzen. Durch den Vergleich einer Fließkommazahl mit 0 kann es sein, dass das so nicht eintritt, da etwas wie 0,00000001 herauskommt.