Visual Basic - Cool Msgbox

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

Cool Msgbox

Publicado por Manuel (3 intervenciones) el 20/01/2017 15:18:58
Hola a todos.

Antes que nada agradeceros y felicitaros por esta página que me ayuda mucho a resolver los diversos problemas que me encuentro en el día a día en VB6.

Mi problema es el siguiente: estoy haciendo un programa que funciona perfectamente, pero que estoy puliendo para dejarlo "bonito" en el aspecto visual, y para esto estoy utlizando esta DLL que me permite crear msgbox personalizados

http://www.recursosvisualbasic.com.ar/htm/ocx-componentes-activex-dll/184-cool-msgbox.htm

Funciona perfectamente en este sencillo código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim MBox As New clsMessage
 
Private Sub btnSal_Click()
Dim ret As Long
MBox.Icon = Clasic_Critical
MBox.EstiloMsgBox = isbWindowsXP
MBox.AddButton 0, "Si", False
MBox.AddButton 1, "No", False
MBox.AddButton 2, "Cancelar", False
ret = MBox.MessageBoxEx("¿Quieres guardar los datos?", "Aviso", , , , , , , , , , , , , , , , , , True)
Select Case ret
    Case 0
                guardar
    Case 1
                End
    Case 2
End Select
End Sub

El problema que tengo es que quiero que el foco del programa se ponga por defecto en el botón "Si" del msgbox y no veo la manera. De hecho el foco no se pone en ningún botón. Muevo con el ratón y pulso el botón que quiera y funciona, pero yo quiero que se ponga por defecto en el "Si" para poder pulsar Intro directamente.
He de decir que en las propiedades de MBox no aparece ningún setfocus o algo parecido, así que quizás no lo permita.

¿Hay alguien que haya utilizado esta DLL y sepa como hacerlo?


Gracias y un saludo
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Cool Msgbox

Publicado por Andres Leonardo (1798 intervenciones) el 20/01/2017 21:07:21
Pon un send keys para que con unn tab llegue la boton requerido

Saludos


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub btnSal_Click()
Dim ret As Long
MBox.Icon = Clasic_Critical
MBox.EstiloMsgBox = isbWindowsXP
MBox.AddButton 0, "Si", False
MBox.AddButton 1, "No", False
MBox.AddButton 2, "Cancelar", False
ret = MBox.MessageBoxEx("¿Quieres guardar los datos?", "Aviso", , , , , , , , , , , , , , , , , , True)
Sendkeys {TAB}
Select Case ret
Case 0
guardar
Case 1
End
Case 2
End Select
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cool Msgbox

Publicado por Manuel (3 intervenciones) el 24/01/2017 19:28:29
Muchas gracias por tu respuesta, funciona perfectamente. Hay que poner el "Sendkeys" antes de la creación del mensaje para que funcione.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub btnSal_Click()
Dim ret As Long
MBox.Icon = Clasic_Critical
MBox.EstiloMsgBox = isbWindowsXP
MBox.AddButton 0, "Si"
SendKeys "{tab}"
MBox.AddButton 1, "No"
MBox.AddButton 2, "Cancelar"
ret = MBox.MessageBoxEx("¿Quieres guardar los datos?", "Aviso", , , , , , , , , , , , , , , , , , True)
Select Case ret
    Case 0
    Case 1
        End
    Case 2
End Select
End Sub


Ahora tengo el problema de que si pulso "Intro" no lo detecta. De hecho el foco del botón se va. ¿Tienes alguna idea de como podría solucionarlo? He probado mil cosas y nada.

Gracias y un 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

Cool Msgbox

Publicado por Manuel (3 intervenciones) el 24/01/2017 21:23:45
Comentar que en en las propiedades de addbutton aparece esto, que creo sirve para eso , pero que no doy hecho que funcione

MBox.AddButton,1,"Si", Default as boolean(false),Cancel as boolean(false)
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