Création d'une classe pour la gestion des contrôle d'un formulaire

Salut à tous,

N'étant pas un expert des classes je viens vers vous.
Afin d'éviter le code ci-dessous j'ai tenté de mettre en place une Classe.

Private Sub txtAdresseClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtAdresseClient
End Sub

Private Sub txtCodePostalClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtCodePostalClient
End Sub

Private Sub txtComplementAdresseClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtComplementAdresseClient
End Sub

Private Sub txtCourrielClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtCourrielClient
End Sub

Private Sub txtEncoursClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtEncoursClient
End Sub

Private Sub txtNomClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ColorHighlighting txtNomClient
End Sub

Le but étant de gérer la mise en surbrillance des contrôles du formulaire, je pense qu'il ne manque pas grand chose pour que cela fonctionne mais là je coince.
J'ai mis en commentaire cette gestion dans la Sub Initialise et dans la classe.

A terme je voudrais pouvoir gérer :

  • Les TextBox (txtNom par exemple Mise en surbrillance)
  • Les ComboBox (cmbRechercheClient par exemple mise en surbrillance et Click)
  • Les Labels transformés en boutons de commande (Bouton Quitter mise en surbrillance et Click)
  • D'autres Labels qui seront dans un Frame et qui auront une autre couleur de surbrillance et ce pour la gestion des pages du multipage. (pas mis dans l'exemple)

Je suis donc preneur de toutes vos idées

Bonjour,

ci-jointe une proposition

Salut Thev,

je ne suis pas chez moi je teste ce soir, et te ferais un retour.

merci.

Bonsoir,

je suis chez moi et j'ai essayé ! J'adore le design ! je le garde si c'est permis !
merci à thev !

@ bientôt

LouReeD

Salut @LouReed

Pas de problème, je suis sur une application de devis finalisation en cours je la partagerais une fois rodée pour la soumettre à vos test. et vos remarques.

Week End de Pâques donc je ne serais pas dispo durant cette période, mis à part un peu le soir

@Thev j'ai poster un message hier qui apparemment n'est pas passé, le boulot est fait, et bien fait, j'ai juste trois questions, est-il obligé d'avoir autant de variables publiques ? (je ne suis pas trop pour). Je vais devoir dupliquer les procédures pour ajouter la gestion des ComboBox et des Labels qui composent mon menu (6 pages d'un Multipage sont pilotées par une serie de Label dans une frame). et dernière j'ai pas tester mais j'aurais voulu que la Sub ColorHighlighting fasse partie de la classe.

Encore merci je m'y penche dessus dès que j'ai du temps de libre.

Pour l'instant j'ai la moto qui me dis revient, revient...

Merci Jean-Paul ! Je le met de coté et verrais si un jour je m'en inspire. J'aime bien ce coté Dark Mode avec du vert vif ! Je l'ai utilisé pour les "explications" de certains de mes jeux !

Passez un bon weekend (en moto) !

@ bientôt

LouReeD

Bonjour à tous,

Une autre possibilité est d'utiliser la propriété SpecialEffect des contrôles.

Notamment pour ceux qui sont daltoniens.

a0dalton

Bonjour X Cellus,

peut-on modifier les couleurs du "Flat", je veut dire les ombres et autres effets ?

@ bientôt

LouReeD

A nouveau,

Salut LouReeD,

Il faut noter que les effets autres que le Flat ne permettent pas d'utiliser les bordures. Puisque ces effets agissent sur les contours.

La propriété Border n'a que deux choix: None ou Single. On ne peut agir sur la taille de cette bordure.

Mais il est toujours possible de coupler un Label (voire deux Labels) sous le TextBox et plus grand(s) que ce dernier.

En agissant sur les bordures de ce(s) Label(s) on accentue l'effet sur le Textbox.

Autre solution: passer aussi par la propriété BackColor du TextBox pour différenciation. Voir le fichier joint.

Salut à tous

Je ne connaissais pas cette propriété, toujours bon à savoir, même si mon but était plutôt de me rapprocher du fonctionnement de la fenêtre d'options d'Excel. La mise en surbrillance n'était mon problème majeur mais plutôt la répétition des codes, et du coup la gestion par une classe, car le fichier exemple ne comporte qu'une partie de l'application, celle-ci a six pages avec en moyenne quinze contrôles par pages donc beaucoup de répétition.

Thev m'a donné une très bonne base que je vais devoir développer. je marque donc le sujet résolu.

Merci à tous,

Bonsoir,

Merci pour ce retour complet !

@ bientôt

LouReeD

Bonjour,

Je vais devoir dupliquer les procédures pour ajouter la gestion des ComboBox et des Labels qui composent mon menu (6 pages d'un Multipage sont pilotées par une serie de Label dans une frame). et dernière j'ai pas tester mais j'aurais voulu que la Sub ColorHighlighting fasse partie de la classe.

Pour cela, il vous faut une classe par type de contrôle. Ci-joint exemple d'intégration de votre procédure dans les différentes classes :

Bonsoir,

thev, chez moi les contrôles "flash" lors du déplacement de la souris dessus que le déplacement de celle-ci soit lent ou rapide...

@ bientôt

LouReeD

Bonsoir Loureed,

chez moi les contrôles "flash" lors du déplacement de la souris dessus que le déplacement de celle-ci soit lent ou rapide...

C'est curieux car je n'ai pas cet effet avec ma version 2021 d'Excel. Avais_tu cet effet avec la version précédente de test_hightlighting1.xlsm ?

Bonsoir,

je viens de re télécharger les deux fichiers, la dernière version flash...

@ bientôt

LouReeD

Rechercher des sujets similaires à "creation classe gestion controle formulaire"