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

[0] Índice de Mensajes

Ir a la versión completa