PDA

Ver la Versión Completa : Descativar elementos de un TComboBox


Angel.Matilla
21-08-2019, 12:38:34
Para inhabilitar los elementos de un TRadioGroup en BCB 6 uso este código:
RadioGroup1->Controls[5]->Enabled = false;
Si uso un código similar en los elementos de un TComboBox:
ComboBox1->Controls[5]->Enabled = false;
el programa compila sin errores peor al ejecutar esa línea salta una excepción. ¿Hay algún código que me pueda hacer esa funcionalidad?

APO
21-08-2019, 13:55:38
Hola, no se puede hacer directamente mediante Controls[x]->Enabled.
Lo que puedes hacer es definir en una variables los ítems que quieres inhabilitar y luego en el evento OnChange mirar si el índice seleccionado es ese no dejarle seleccionarlo. En código sería algo así:


procedure TForm1.ComboBox1Change(Sender: TObject);
const
DisabledItems = [1,5]; //Deshabilitamos los ítems 1 y 5
begin
if (ComboBox1.ItemIndex in DisabledItems) then ComboBox1.ItemIndex := -1;
end;


Saludos!

Angel.Matilla
22-08-2019, 11:10:03
Gracias por la sugerencia