Visual Basic - Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por abinfra (11 intervenciones) el 04/07/2011 07:57:16
Hola a todos.

Tengo una Rejilla (SSTab) con dos Tab ( o solapas).

Cuando se activa la rejilla en el primer Tab (0) los ComboBox’s no se resaltan (sin fondo azul) a no ser que el control pase a un ComboBox, entonces si se resalta (con fondo azul).

Pero cuando paso del Tab (0) al Tab (1) los ComboBox’s del Tab (1) se resaltan todos los que tienen algún dato ( o sea con el fondo azul) cuando solo de deberían resaltar cuando el control pasa a un ComboBox. Si retorno del Tab (1) al Tab (0) pasa igualmente.

¿Cómo puedo evitar esto?

Saludos cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 4
Ha aumentado su posición en 25 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por Paolo Santos (76 intervenciones) el 06/07/2011 03:08:27
ummmm, ya has probado darle el setfocus a solo un combobox cuando se le da click al objeto tab, para que no resalte cualquiera y solo a uno en especifico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por abinfra (11 intervenciones) el 06/07/2011 10:44:58
Gracias Paolo por responder.

Lo que hago en el último evento del Tab(0) justo antes de pasar al Tab(1) es:

Private Sub txtResumen_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
Dim cRespuesta As String
cRespuesta = MsgBox("¿ Verdaderamente quiere salir de la edición de esta Orden de Trabajo. ", vbYesNo + vbCritical + vbDefaultButton2)
If cRespuesta = vbYes Then
lSalir = True
FinEdit
RestaurarTxt
ElseIf cRespuesta = vbNo Then
lSalir = True
txtResumen = ""
txtResumen.SetFocus
End If
ElseIf KeyAscii = 13 Then
KeyAscii = 0
lIntro = True
RejillaOT.Tab = 1
cmbPriTalEje.SetFocus

End If
End Sub

Se activa el Tab(1) pasando el foco al primer ComBox(cmbPriTalEje), pero aparecen todos los ComboBox que tienen datos con el fondo azul.

Lo que quiero es que el resto de ComboBox no aparezcan con el fondo azul.

Gracias y saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 25 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por Paolo Santos (76 intervenciones) el 06/07/2011 16:52:45
en que momento llenas los combobox?, y tienes algun codigo en el evento click del sstab, otra idea haz corrido paso a paso las lineas de tu codigo, puede que, aunque en ejecucion mandes a cambiar el tab y luego le das el set focus al combobox que tienes, por alli se este ejecutando algun codigo, por ejemplo que tengas codigo para el evento lost focus de txtResumen, este lo va a hacer posteriormente al terminar el codigo del keypress y por eso este haciendo otra cosa que no quieres, revisa y me cuentas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por abinfra (11 intervenciones) el 06/07/2011 22:49:25
Hola Paolo, gracias nuevamente por tu interés en responder.

a) Los ComBox los llenos al pulsar en un botón de "Añadir" nueva Orden de Trabajo:
Private Sub CmdAdd_Click()
....
cmbPriTalEje.ListIndex = 3
cmbTalEje1.ListIndex = 0
cmbDesTal1.ListIndex = 4
cmbTalEje2.ListIndex = 4
cmbDesTal2.ListIndex = 4
cmbTalEje3.ListIndex = 4
cmbDesTal3.ListIndex = 4
cmbTalEje4.ListIndex = 4
cmbDesTal4.ListIndex = 4
...
While RejillaOT.Enabled = True: DoEvents: Wend
If lSalir = False Then
cCon_Estado = "N"
GrabaCambios
If lVolverEditar = False Then
lNuevo = False
End If
End If
End Sub


b) No tengo ningún evento _Click del Sstab

c) He puesto un punto de interrupción donde cambio a Tab(1) en RejillaOT.Tab = 1, o sea cuando pulso INTRO en el TexBox txtResumen, siguiendo el siguiente proceso:
--> cmbPriTalEje.SetFocus
--> sale de: Private Sub txtResumen_KeyPress
--> y se queda en: While RejillaOT.Enabled = True: DoEvents: Wend
--> hasta que pulso F5 y entonces el foco va al primer ComboBox del Tab(1) al cual le mandé el foco (cmbPriTalEje).

Con gracias anticipadas, recibe un cordial saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como quitar resaltados ComboBox’s al pasar de un Tab a otro en una Rejilla (SSTab)

Publicado por Antonio Belando (11 intervenciones) el 22/08/2012 18:52:32
Nunca es tarde si la dicha es buena.

Para evitar los resaltados indebidos hay que jugar con la propiedad TabStop.

Saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar