Results 1 to 4 of 4

Thread: Stringfrid in 10.4

  1. #1

    Stringfrid in 10.4

    Ik ben bezig met de migratie van mijn code naar versie 10.4
    Hierbij loop ik tegen het volgende probleem aan.
    De stringgrids die ik gebruik voorzie ik altijd van een eigen opmaak middels het OnDrawCell event.
    Hierbij kleur ik de oneven rijen wit en de even rijen licht blauw (of andersom)

    Echter als ik deze code in 10.4 uitvoer wordt maar een deel van de cell gekleurd
    Dit komt doordat de rect die je door krijgt afwijkt van de rect in 10.3
    Wanneer ik deze corrigeer gaat het tekenen wel goed.

    Heeft iemand een idee waarom het doorgegeven rect afwijkt ten opzichte van de vorige Delphi versies

    hierbij de ondraw code inclusief de correctie

    Code:
    procedure TForm4.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    var
     A:string;
     mycolor:Tcolor;
     tempRect:TRect;
    begin
    
     if (Acol >= Tstringgrid(Sender).FixedCols) and (Arow >= Tstringgrid(Sender).FixedRows) then
     begin
       mycolor:=clWhite;
       if not (Odd(ARow)) then mycolor:= $00DECFCE;
       if (gdselected in state) or (gdfocused in state) then mycolor:= $005FC8FB;
       with Tstringgrid(Sender) do
       begin
        Canvas.brush.Style := bsSolid;
        Canvas.brush.color := myColor;
    
        tempRect.Left:=Rect.Left+1;
        tempRect.top:=Rect.Top-12;
        tempRect.right:=Rect.right+3;
        tempRect.Bottom:=Rect.Bottom+2;
        rect:=tempRect;
    
        rect.Left:=rect.Left-4;
        Canvas.FillRect(Rect);
        Canvas.font.Color := clblack;
        Canvas.brush.Style := bsClear;
        rect.Left:=rect.Left + 6;
        rect.Top := rect.top + 2;
        A:=cells[acol, arow];
        DrawText( Tstringgrid(Sender).Canvas.Handle,PChar(A),StrLen(PChar(A)),Rect,DT_WORDBREAK);
       end;
     end;
    
    
    end;

  2. #2
    zal wel een bug zijn. Volgens mij hebben ze de manier van tekenen omgegooid in 10.4.

  3. #3

  4. #4
    Ben idd meer topics tegengekomen.
    Persoonlijk vind ik de cellrect oplossing wel een nette oplossing.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •