[Delphi] OnDrawCell w StringGridzie

0

Witam
Mam taki kawałek kodu w OnDrawCell StringGrida:

with StringGrid do
  with Rect do
    if Cells[1,ARow] = Cells[2,ARow] then
      begin
        Canvas.Brush.Color :=clBtnFace;
        Canvas.FillRect(Rect);
      end;

Niby działa ale zamalowuje wartości w komórkach (wartości nie są widoczne).
Używam D7, w D6 podobny kod działał bez zarzutu.
O co kurna chodzi?

0

Po namalowaniu lepiej ustawiaj ponownie tekst

0

Nie mam w tej chwili pod ręką Delphi żeby sprawdzić ale wydaje mi się że wywołam w ten sposób niekończącą się pętlę :-/

0
teles4 napisał(a)

Nie mam w tej chwili pod ręką Delphi żeby sprawdzić ale wydaje mi się że wywołam w ten sposób niekończącą się pętlę :-/

To Ci się niestety źle wydaje

x := Rect.Right + 2;
y := Rect.Bottom + 2;
Text := sgDane.Cells[ACol, ARow];
TextOut(x, y, Text);
0

Dlaczego 'niestety'? Jeżeli się mylę to się cieszę, sprawdzę po południu.
Dzięki za zainteresowanie. [browar]

0

Po prostu malując pokrywasz nową warstwą to co było pod spodem a nie wypełniasz dookoła literek. Nie zapętla się bo wypełnienie tekstem nie wywołuje OnDraw

0

Dzięki chłopaki/dziewczyny za pomoc [browar]
Teraz wszystko gra i bucy :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1