请问:用advstringgrid 控件时怎么控制光标,让它指定在某一个数据格中

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      RC: TRect;
    begin
      RC := editgrid.CellRect(2, 2);
      RC.TopLeft := ClientToScreen(RC.TopLeft);
      RC.BottomRight := ClientToScreen(RC.BottomRight);
      ClipCursor(PRECT(@RC));
    end;
      

  2.   

    我需要在显示advstringgrid控件的时候,把光标定位在第一行的第一列
      

  3.   

    procedure   TForm1.Button1Click(Sender:   TObject);
    var
        RC:   TRect;
    begin
        RC   :=   editgrid.CellRect(0,   0);
        RC.TopLeft   :=   ClientToScreen(RC.TopLeft);
        RC.BottomRight   :=   ClientToScreen(RC.BottomRight);
        ClipCursor(PRECT(@RC));
    end;
      

  4.   

    这样写鼠标动都动不到了,我是要实现类似setfocus这样的功能
      

  5.   

    TDrawGrid(gd).row:=row;
    TDrawGrid(gd).col:=col;
    gd.setfocus;
      

  6.   

    procedure       TForm1.Button1Click(Sender:       TObject);
    var
      rc: TRect;
    begin
      RC := editgrid.CellRect(1, 1);
      rc.Top := rc.Top + editgrid.Top + 10;
      rc.Left := rc.Left + editgrid.Left + 10;
      RC.TopLeft := ClientToScreen(RC.TopLeft);
      with editgrid do
      begin
        Row := 1;
        Col := 1;
        SetFocus;
        SetCursorPos(rc.Left, rc.Top);
      end;
    end;