Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 15 Sep, 2008 11:54 am Asunto: Anchura de un RadioGroup |
|
|
Estoy diseñando un formulario que me gustaría me sirviera para más de una misión: Elegir el destino de un listado, el origen de datos, etc. He puesto un RadioGroup con una anchura de 175 por defecto en un formulario y modifico las propiedades del RadioGroup en función de las líneas que tiene y de la anchura de la mayor de ellas, y es en este caso donde tengo problemas.
He puesto este código en el OnActivate:
| Código: | void __fastcall TfAccion::FormActivate(TObject *Sender)
{
int nAncho = 0;
Accion->Height = 15 * Accion->Items->Count + 20;
fAccion->Accion->ItemIndex = -1;
TLabel *Label = new TLabel(fAccion);
Label->Visible = false;
for (int nItem = 0; nItem <Accion>Items->Count; nItem ++)
{
Label->Caption = Accion->Items->Strings[nItem];
if (Label->Width > nAncho)
nAncho = Label->Width;
}
if (nAncho > Accion->Width)
Accion->Width = nAncho;
delete Label;
fAccion->Repaint();
} |
Para la altura (Accion->Height) no hay problema, pero con la anchura no me cuadra. Si la frase (ítem) es muy larga, a pesar de lo que hago en el bucle for no es suficiente; he probado varias fórmulas pero o me corta la línea o se pasa en mucho con la anchura. ¿Alguna idea? ¿El tipo de letra puede tener influencia? _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|