在StringGrid不能编辑的时候。
StringGrid正常选中时的深蓝色。
我想把它改变掉。自己画。怎么做。谢谢了。

解决方案 »

  1.   

    http://borland.mblogger.cn/aiirii/category/463.aspx
      

  2.   

    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
      if (stringgrid1.Col=acol) and(stringgrid1.Row=ARow) then
        stringgrid1.canvas.Brush.Color:=clred;
        stringgrid1.canvas.FillRect(Rect)
    end;
      

  3.   

    To:jinjazz(近身剪(N-P攻略)
    那样不行的,会选得乱七八遭的,
    刷新太慢了。当你选别的时以前选的有的都还没有变回来啊。
      

  4.   

    那你去看看aii的blog上面的应用全书吧
      

  5.   

    问题结决了。晕啊。把没有选中的给它变白回来,真是晕啊。哈哈。
    if (Acol <> 0) and (ARow=BG2.Row) then //选中的
      begin
        BG2.Canvas.Brush.Color:=clBlue;
        BG2.Canvas.FillRect(Rect);
        BG2.Canvas.TextOut(Rect.left+2,Rect.top+2,BG2.Cells[acol,arow]);
      end;
    if (Acol<>0) and (ARow<>BG2.Row) then //没选中的
      begin    
        BG2.Canvas.Brush.Color:=clWhite;
        BG2.Canvas.FillRect(Rect);
        BG2.Canvas.TextOut(Rect.left+2,Rect.top+2,BG2.Cells[acol,arow]);
      end;