PDA

Ver la Versión Completa : Como hago para enfocar un RadioGroup?


danytorres
31-07-2003, 20:29:04
Hola a todos los del foro. tengo un RadioGroup con dos items en las propiedades le puedo colocar el TabOrder se lo coloco en 0 para sea el primero en marcarse al momento de abrir el formulario, el problema esta en que necesito que se me coloque en foco el primer items, pero ni siquiero se coloca en foco todo el RadioGroup1. Doy gracias a quien me pueda ayudar.

___________________
Un saludo a todos...

roman
31-07-2003, 22:07:15
Necesitas poner la propiedad TabStop del RadioGroup en true.

Nota sin embargo que el RadioGroup no indica visualmente que tiene el foco por lo que parece que nadie tuviera el foco. Para poder colocar el foco en el primer item lo único que se me ocurre es que utilices el método SelectFirst del RadioGroup. No obstante hay dos problemas:

1. Este es un método protegido de manera que no puedes acceder a él directamente. Para hacerlo declara:


type
TUPControl = class(TWinControl)


y usas el evento OnEnter del RadioGroup:


procedure TForm1.RadioGroup1Enter(Sender: TObject);
begin
TUPControl(RadioGroup1).SelectFirst;
end;


2. Lo anterior no selecciona exactamente el primer item sino el que este marcado. Si no hay ninguno marcado entonces sí selecciona el primero.

// Saludos

danytorres
31-07-2003, 22:12:55
Gracias por responder, este codigo sirve igual para un DBRadioGroup1?.

____________________________
Un saludo a todos...

marcoszorrilla
31-07-2003, 22:27:53
Sino me equivoco igual con esto también te puede valer:


procedure TForm1.FormActivate(Sender: TObject);
begin
Radiogroup1.SetFocus;
Radiogroup1.ItemIndex:=0;
end;


También puedes utilizar la propiedad ActiveControl del formulario para comenzar dándole el enfoque al RadioGroup.

Un Saludo.

roman
31-07-2003, 22:31:18
Posteado originalmente por marcoszorrilla

procedure TForm1.FormActivate(Sender: TObject);
begin
Radiogroup1.SetFocus;
Radiogroup1.ItemIndex:=0;
end;


El problema aquí es que no sólo se selecciona (se pone el foco) sino que también se marca y no sé si esto es lo que desea.

// Saludos

danytorres
01-08-2003, 00:37:36
Gracias por responder. Si solo deseo que se coloque en foco mas no que se marque.


______________________
Un saludos a todos...