procedure TForm1.StringGridSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
  with StringGrid do
  begin
    if ACol = 1 then
      Options := Options - [goEditing]
    else Options := Options + [goEditing];
  end;
end;
写成一个过程或函数
关键是 ACol, ARow: Integer; 不明白怎么回事
在双击 OnSelectCell 自动产生了ACol, ARow: Integer; 
它们代表了 行和列
怎么把下面的代码写到在自定义的过程或函数里 
  with StringGrid do
  begin
    if ACol = 1 then  < ———— ACol 在OnSelectCell 里 自动就代表了 列 
      Options := Options - [goEditing]
    else Options := Options + [goEditing];
  end;

解决方案 »

  1.   

    with StringGrid do
      begin
        if Col = 1 then  < ———— ACol 在OnSelectCell 里 自动就代表了 列 
          Options := Options - [goEditing]
        else Options := Options + [goEditing];
      end;------------------------------
    stringGrid的属性col就代表当前选择的单元格的列数。
      

  2.   

    最后说吧
    怎么把
    procedure TForm1.StringGridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    begin
      with StringGrid do
      begin
        if ACol = 1 then
          Options := Options - [goEditing]
        else Options := Options + [goEditing];
      end;
    end;
    写到自定义的过程里  ??????
    ????????????????
      

  3.   

    procedure TForm1.myprocedure(ACol: Integer);
    begin
      with StringGrid do
      begin
        if ACol = 1 then
          Options := Options - [goEditing]
        else Options := Options + [goEditing];
      end;
    end;
    定义格式如上;
    调用时用
    procedure TForm1.button1click(sender: Tobject);
    begin
      myprocedure(stringGrid1.col);
    end;