Programación General > Visual Basic 6.0 e inferiores
Common Dialog
(1/1)
pmike:
Hola:
En un control Common Dialog, tengo un problema.
Como puedo controlar el boton cancelar o la x de cerrar ventana para q no siga con las lineas del codigo sucesivamente.
Gracias
pmike
tiquinho:
El CommonDialog tiene una propiedad llamada CancelError. Si esta propiedad tiene el valor True, cuando pulsen el botón Cancelar o cierren con la X, generará un error (el número ahora no lo recuerdo).
Un ejemplillo con el que abrir ejecutables, donde "Carpetas" es el nombre del CommonDialog:
--- Código: Text --- Function AbrirEjecutables(Ruta as String)On Error GoTo FinF 'Con esta línea le indicas que si salta el error salte a la etiqueta "FinF" 'Inicialización de variablesCarpetas.InitDir = RutaCarpetas.DefaultExt = "exe"Carpetas.Filter = "Ejecutables (.exe)|*.exe"Carpetas.CancelError = True 'Con esta propiedad le indicas al CommonDialog que genere un error si se pulsa el botón Cancelar. Carpetas.ShowOpen 'Lanza la ventana Abrir del CommonDialog On Error GoTo FinF 'A partir de aqui haz lo que sería normalShell Carpetas.FileName, vbNormalFocus FinF: 'Aqui saltará si se pulsa CancelarEnd Function
Puedes controlar mejor utilizando más etiquetas, o jugando con variables. Tú mismo.
Espero que te sirva!
pmike:
Gracias tiquinho !!!!!!
El problema q tenia es q
On Error GoTo error
solo lo ponia una vez al principio de la funcion, luego continuaba con el codigo del common Dialog, y demas lineas de codigo sql, entoces al pulsar cancelar me introducía los datos a la bd, y claro ha de ser lo contrario.
He visto que tu lo has escrito 2 veces el Goto error y funciona bien, ademas de poner el objeto.CancelError = True
Un saludo
tiquinho:
Vaya, pos ahora que lo dices si que lo tengo 2 veces, ni me había dado cuenta :nosweat: La verdad es que sin el segundo también debería funcionar (a mi me va bien). No sé entonces pq no te iba a ti :blink:
Bueno, si por lo menos ahora te va... :whistling: jeje
De todas maneras debería mirarlo, no vaya a ser q tengas algo mal sin saberlo :D
Por cierto, ¿te deja utilizar como nombre de etiqueta "error"??pensé que lo tomaba como palabra clave, o como nombre de un objeto...
pmike:
tienes razon con una linea de codigo funciona.
debio ser el objeto.CancelError = True, lo tenía a false y por eso no tiraba.
he probado con On Error GoTo error y a mi me funciona bien
Hasta otra ...
Navegación
Ir a la versión completa