Ver la Versión Completa : Propiedad onclick de ComboBox
Lizette
19-11-2008, 21:10:03
Hola a todos..
Tengo un combo box, que al hacer click sobre él y si éste no tiene nada (es decir, ningun item seleccionado), me retorne a un edit..
El codigo que utilizo es el siguiente, en el evento on click del combo, le intente con if(length(ComboClas.text)=0) y tampoco tuve éxito..
El EditVacio.text es un edit q no contiene texto y con ese lo comparo..
procedure TfrmProductoAdd.ComboClasClick(Sender: TObject);
begin
if (ComboClas.Text=EditVacio.Text)then
begin
if(EditPres.Text<>EditVacio.Text)then
begin
EditPres.SetFocus;
end
else
if(EditDes.Text<>EditVacio.Text)then
begin
EditDes.SetFocus;
end
else
begin
EditCve.Enabled:=True;
EditCve.Color:=clWindow;
EditCve.SetFocus;
end;
end;
end;
luisgutierrezb
19-11-2008, 21:13:24
ningun item seleccionado lo puedes validar con:
if Combobox.ItemIndex < 0 then
// no tiene elementos
marcoszorrilla
19-11-2008, 21:18:39
Prueba con este código y el evento exit:
procedure TForm1.ComboBox1Exit(Sender: TObject);
begin
if combobox1.ItemIndex = -1 then
ShowMessage('No ha elegido nada.')
else
ShowMessage('Eligió algo');
end;
Un Saludo.
Caral
19-11-2008, 21:23:07
Hola
if ComboClas.Text = ' ' then
EditPres.setFocus;
Saludos
ContraVeneno
19-11-2008, 22:12:35
Si lo que quieres es validar que siempre tenga algo seleccionado, solamente vas poner la propiedad ItemIndex en 0 y la propiedad Style en DropDownList
Lizette
19-11-2008, 23:22:55
Mmmm el caso es que quiero, que si se hace clic dentro del combo q no lo acepte, porque estoy haciendo un tipo de validacion que no me permita hacer click en ningun objeto, que solo se desplace por medio de enter o tabulador, pero si hago click en el combo alli se queda el cursor y no me hace nada..:o
ContraVeneno
20-11-2008, 01:01:42
A caray.... :confused::confused::confused::confused:
donald shimoda
20-11-2008, 02:25:26
Mmmm el caso es que quiero, que si se hace clic dentro del combo q no lo acepte, porque estoy haciendo un tipo de validacion que no me permita hacer click en ningun objeto, que solo se desplace por medio de enter o tabulador, pero si hago click en el combo alli se queda el cursor y no me hace nada..:o
No funciona el chequeo en el OnEnter del combo, seteando el focus al control deseado?
Saludos
Lizette
20-11-2008, 05:38:36
hola donald, le cale como me dices y si me lo hace, si hago clic sobre el me regresa el foco, pero cuando me desplazo con enter o tab y llega uno antes del combo, alli se keda pk nunca se pasa al combo para seleccionar..
donald shimoda
20-11-2008, 12:31:45
hola donald, le cale como me dices y si me lo hace, si hago clic sobre el me regresa el foco, pero cuando me desplazo con enter o tab y llega uno antes del combo, alli se keda pk nunca se pasa al combo para seleccionar..
Puedes pegar aquí el código?
Lizette
21-11-2008, 08:10:12
procedure TfrmProductoAdd.ComboClasEnter(Sender: TObject);
begin
if (ComboClas.Text=EditVacio.Text)then
begin
if(EditPres.Text<>EditVacio.Text)then
begin
EditPres.SetFocus;
end
else
if(EditDes.Text<>EditVacio.Text)then
begin
EditDes.SetFocus;
end
else
begin
EditCve.Enabled:=True;
EditCve.Color:=clWindow;
EditCve.SetFocus;
end;
end;
end;
Mmm lo q habia pensado es en poner una bandera, esk tal vez por la condicion que tiene al principio, pk si da click en el combo y esta vacio se devuelve, es correcto, pero cuando me desplazo por los componentes con enter o tab y llego hasta el combo, entra a la condicion y se devuelve..
Seria una bandera si se desplaza con entero tab que se active la bandera y entonces preguntaria en vez de if (ComboClas.Text=EditVacio.Text)then, mas bien agregandole and (bandera=0), que se devuelva, y si bandera es =1, lo va a dejar seleccionar..
Como vez mi idea donald??, no lo he calado..
ContraVeneno
21-11-2008, 16:05:31
en el evento "OnExit" de tu combo podrías poner cualquiera de estas dos opciones:
If trim(Combo.Text) = '' then Combo.SetFocus;
If Combo.ItemIndex = -1 then Combo.SetFocus;
Lizette
22-11-2008, 01:05:59
Gracias!! :)
vBulletin v3.6.8, Derechos ©2000-2013, Jelsoft Enterprises Ltd.