![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RadioButtons as RadioGroup [D5, Win95/98]
Andrey V. © (2004-06-22 07:36:00)Как научить отдельные RadioButton на форме работать как элементы RadioGroup, т.е. в состоянии Checked должен быть только один RadioButton. Когда у меня на форме было N RadioButtonов все было хорошо. Но когда я поместил PageControl и раскидал RadioButtonы по страницам, все поломалось - при отмечании одного батона на одной странице, на других страницах появлялись по одному отмеченному RadioButtonу. Как красиво решить проблему ?
Andrey V. (2004-06-22 14:44:00) [1]> TUser © (22.06.04 12:49) [5]
Если часть RadioButtonов лежит на одном TabSheetе , а часть на другом , то это сработает только если под них подсунуть панели.
В любом случае спасибо вам и jack128.
TUser (2004-06-22 12:49:00) [2]2 2
Ну, извини
for i:=1 to maxRB do begin
LocalRB:=(FindComponent('RadioButton'+inttostr(i)) as TRadioButton);
if LocalRB <> Sender then
LocalRB.Checked:=c;
end;
Andrey V. (2004-06-22 12:02:00) [3]Положу на панели.
Придется в каждом клике делать Checked:=False для тех у кого Парент другой ...
jack128 (2004-06-22 11:34:00) [4]размести все радиобаттоны одной группы как одном TGroupBox, или на панелях..
Andrey V. (2004-06-22 11:26:00) [5]При таком раскладе он НИКОГДА не будет Checked.
TUser (2004-06-22 09:45:00) [6]const
maxRB = 10;
type
TForm1 = class(TForm)
RadioButton1:TRadioButton;
RadioButton2:TRadioButton;
...
RadioButton10:TRadioButton;
...
procedure TForm1.RadioButton1Click(Sender:TObject);
var i:integer;
c:boolean;
begin
c:=not (Sender as TRadioButton).Checked;
for i:=1 to maxRB do
(FindComponent('RadioButton'+inttostr(i)) as TRadioButton).Checked:=c;
end;