TabStopについt


グロッキー  2005-06-24 10:30:23  No: 15905  IP: 192.*.*.*

いつも、お世話になっています。
フォーム上に
TEditをいくつか並べ
TRadioGroupをひとつおきます。
TRadioGroupの選択肢(Items)をいくつか作成し
そのひとつをチェック(ItemIndexを設定)します

この状態で立ち上げたとき
TRadioGroupにタブでジャンプしないようにする
方法を教えてください。

編集 削除
deldel  2005-06-24 13:21:14  No: 15906  IP: 192.*.*.*

RadioGroup1.TabStop := False;
かと。

編集 削除
Basser  2005-06-24 17:39:16  No: 15907  IP: 192.*.*.*

TRadioGroupの子コントロールであるTRadioButtonのTabStopプロパティを操作する必要があります。
例としては下記のように行います。

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    RadioGroup1: TRadioGroup;
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  I : Integer;
begin
  for I:= 0 to RadioGroup1.ControlCount - 1 do
    TRadioButton(RadioGroup1.Controls[I]).TabStop:= False;
end;

// TRadioButtonの仕様上CheckedプロパティがTrueになった場合、
// TabStopプロパティもTrueに更新される為、OnClickイベントで無効化
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
  wControl: TRadioGroup;
begin
  wControl:= TRadioGroup(Sender);
  TRadioButton(wControl.Controls[wControl.ItemIndex]).TabStop:= False;
end;

編集 削除