PROBLEMILLA CON EL FOCO DEL COMBOBOX

peris
05 de Mayo del 2004
Hola gente:

tengo un problemilla, y es que yo tengo un combo en un form, y quiero quitarle el foco, para darselo hago .setfocus, pero para quitarselo (y no darselo a su vez a otro control) no tengo una propiedad estilo lostfocus.

Lo que me gustaría hacer sería:
al pichar en un command que quitase el foco del combo, pero, repito, no darselo a ningún otro control.

gracias a todos.


en?
05 de Mayo del 2004
hola,
siempre habrá un control con el foco, siempre que el control acepte el foco.
Es decir, si tienes un Form con sólo un Label, ningún control tendrá el foco, pero a la que pongas por ejemplo un Command o como en tu caso un ComboBox, no se lo podrás quitar, ese combo siempre tendrá foco, a menos que el Combo esté deshabilitado, que en ese caso buscará el siguiente por sus respectivos .TabIndex hasta que encuentre uno que acepte el foco.

Tampoco puedes pasarle el foco a un control que .Visible = False

Así que lo que podrías hacer és tener un CommandButton que esté fuera del Form, por ejemplo .Left=-10000, y le asignas a él el foco cuando quieras que ninguno de los que hay en pantalla lo tenga.

Quizá alguien conozca alguna API que lo hace, pero pienso que lo más simple és lo que te he comentado.


un saludo.

peris
05 de Mayo del 2004
muchas gracias, lo de pasarle el foco al form ya lo había pensado pero no me gustaba mucho esa solución, pero lo de poner un control fuera está bien, es bastante ingenioso.

gracias de nuevo.

Thessen
05 de Mayo del 2004
Puedes mandar el foco al formulario, de esta manera ninguno de los controles del mismo tendria el foco.