(FireMonkey)StringGridのあるセルを入力不可にするには?(2)

解決


ない  2012-10-05 18:53:28  No: 43141

つい先日、質問した件に類似していますが、
列に対しての入力不可にすることはできましたが、
行に対しての入力不可にすることが分かりません。
また、特定のセル(例えば、座標(3,3)のセル)のみ入力不可に
することも分かりませんでした。
  列のColumnsのプロパティには、ReadOnlyがありますが、
行は、いったい?


DEKO  2012-10-06 01:24:13  No: 43142

uses
  ..., FMX.Edit;

procedure TForm1.StringGrid1SelChanged(Sender: TObject);
var
  i: Integer;
  Control: TStyledControl;
begin
  // 10 行目をすべて ReadOnly にする
  for i:=0 to StringGrid1.ColumnCount-1 do
    begin
      Control := StringGrid1.Columns[i].CellControlByRow(9); // 10 行目
      if Assigned(Control) then
        TEdit(Control).ReadOnly := True;
    end;
end;

こんな感じでやれると思います。
一旦、Assigned でセルコントロールが存在するかをチェックするのがミソです。

[TStringGrid の使い方 (Delphi FireMonkey Tips)]
http://ht-deko.minim.ne.jp/techf011.html


ない  2012-10-06 02:56:23  No: 43143

前回に引き続き、今回もありがとうございました。
できました。
なるほど、Assignedを使用するんですね。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加