1

単一のフォーム アプリの異なるタブシートに表示する 3 つのラジオ グループがありますが、基本的にすべての基本機能は同じです (一度にユーザーに表示できるのは 1 つだけです)。

つまり、ユーザーがいずれかの新しいラジオ ボタンを選択した場合、ItemIndex一致するように他の 2 つのラジオ ボタンをプログラムで更新したいと考えています。

OnClick()しかし、関数を 3 回実行したくありません。

これを行う簡単な方法はありますか、それとも単一のラジオグループを使用してそれを変更し続け、Parentユーザーが表示されるタブを変更する必要がありますか?TopLeft

アプリには現在メニューがないため、これだけのためにメニューを追加するのは見苦しいです。

4

2 に答える 2

3

3 つのラジオグループを作成しますが、イベント ハンドラーは 1 つだけにして、それをすべてのラジオグループに割り当てます。

procedure TForm1.RadioGroupClick(Sender: TObject);

var Index : Integer;

begin
 RadioGroup1.OnClick := nil;
 RadioGroup2.OnClick := nil;
 RadioGroup3.OnClick := nil;
 Index := TRadioGroup(Sender).ItemIndex;
 RadioGroup1.ItemIndex := Index;
 RadioGroup2.ItemIndex := Index;
 RadioGroup3.ItemIndex := Index;
 RadioGroup1.OnClick := RadioGroupClick;
 RadioGroup2.OnClick := RadioGroupClick;
 RadioGroup3.OnClick := RadioGroupClick;
end;
于 2012-12-03T06:52:47.523 に答える
2

インメモリTDatasetと多数のTDBRadioGroupウィジェットを使用できます

于 2012-12-03T07:21:15.267 に答える