stringgrid如何使字体居中??

解决方案 »

  1.   

    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
     Rect: TRect; State: TGridDrawState); 
    var
     s: String; 
     R: TRect;
    begin
      with StringGrid1 do
      begin
        S := Cells[ACol,ARow];
        R := Rect;
        DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);  //文字居中
      end;
    end;
      

  2.   

    漏了一句,不好意思procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
     Rect: TRect; State: TGridDrawState); 
    var
     s: String; 
     R: TRect;
    begin
      with StringGrid1 do
      begin
        Canvas.FillRect(Rect);
        S := Cells[ACol,ARow];
        R := Rect;
        DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);  //文字居中
      end;
    end;
      

  3.   

    谢谢!
    不过我在创建窗体时绘画这个stringgrid,标题出现了重影,就是说又把原来的标题重写了一遍
    怎么解决呢?