StringGrid セル単位でEnableの制御


rin  2005-06-15 13:40:48  No: 15642  IP: 192.*.*.*

StringGridのセル単位でEnableの制御を
行うことは可能でしょうか?
もし可能でしたら教えていただけないでしょうか?
よろしくお願いします。

編集 削除
ん?  2005-06-15 14:38:24  No: 15643  IP: 192.*.*.*

OnSelectCellイベントで、セルを選択できなくしてしまう。

または、

OnSelectCellイベントで、Optionsプロパティの[goEditing]を追加・削除する。

編集 削除
ん?  2005-06-15 14:41:25  No: 15644  IP: 192.*.*.*

3番目の列を編集不可にしたいとき。

procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Longint; var CanSelect: Boolean);
begin
  if (Col = 3) then begin
    StringGrid1.Options := StringGrid1.Options - [goEditing];
  end
  else begin
    StringGrid1.Options := StringGrid1.Options + [goEditing];
  end;
end;

他にあれば、もっとスマートな方法があれば教えてください。

編集 削除
rin  2005-06-15 15:29:50  No: 15645  IP: 192.*.*.*

ん? さん
回答ありがとうございました。

上記の方法だとフォーカスが遷移してしまい
要求する動きが出ないため、OnSelectCellイベントで、
セルを選択できなくするようにしました。

編集 削除