Common dialog Cancel

rivierem Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 avril 2006 - 15 avril 2003 à 11:06
Sarumann Messages postés 6 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 novembre 2008 - 25 mars 2004 à 19:02
Comment gerer le bouton annuler sur un common dialog de couleur
J'ai essaye ca

On error go to erreur

commondialog.showcolor
.
.traitement
.
erreur:
if err.number = 37255
exit sub
endif
le probleme c'est que ca ne rentre jamais dans mon etiquette d'erreur

2 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
15 avril 2003 à 12:04
Bonjour.
Essaie ça, ça marche chez moi (VB6)

Private Sub Teinte_Click()
CommonDialog.CancelError = True'<<<<<<
On Error GoTo ErrHandler
CommonDialog.Flags = cdlCCRGBInit Or cdlCCPreventFullOpen
CommonDialog.ShowColor
Couleur = CommonDialog.Color
Exit Sub
ErrHandler:
Exit Sub
End Sub
0
Sarumann Messages postés 6 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 novembre 2008
25 mars 2004 à 19:02
Voilà une fonction "nettoyée":

Private Sub Teinte_Click()
CommonDialog.CancelError = True
On Error GoTo ErrHandler
CommonDialog.Flags = cdlCCRGBInit
CommonDialog.ShowColor
Couleur = CommonDialog.Color

ErrHandler:
End Sub

Le "Or cdlCCPreventFullOpen" c'est uniquement pour désactiver le choix d'une couleur personnalisée. Les exit sub ne sont pas nécessaire car ils sont situés à la fin de la fonction!!!!

Pour info culturelle, le CommonDialog.CancelError = True "sélectionne" le bouton Cancel (Annuler pour les puristes). Le fait d'appuyer sur le bouton Annuler, "sélectionne" le bouton. Mais comme le bouton est déjà "sélectionné", une erreur est générée. Donc, le "On Error" est utilisé pour récupérer l'erreur.

Sarumann
"Magie, Magie! Et les Sorciers sont des génies!!!" (fameuse pub pour Magiciens)
0
Rejoignez-nous