Re-bonjour à tous,
cette fois-ci je ne me suis pas trompé de champ lors de ma recherche sur le forum (lors de mon dernier post j'avais mis mes mots clef dans le champ destiné aux noms d'utilisateurs )
J'ai l'habitude en C++ Builder de pouvoir utiliser un gestionnaire d'évènement commun à plusieurs élements devant se comporter de manière analogue, en effet C++ Builder passe en paramètre de tout gestionnaire l'élement qui "Envoie" l'évènement.
Je souhaiterais faire quelque chose d'analogue sous Access 2002 : j'ai un nombre assez conséquent de Label qui doivent tous avoir le même comportement (lors d'un double clic ils changent de couleur par exemple).
Au lieu d'écrire à chaque fois la fonction j'aimerais pouvoir l'écrire une fois et que celle-ci détermine sur quel label on a cliqué et agisse en conséquence.
Pour l'instant ma fonction qui effectue les modifications sur le Label prend en paramètre le nom du Label et j'appel cette fonction dans chaque gestionnaire.
Pour résumer pour l'instant j'ai quelque chose comme ça :
Et j'aimerais à me ramener à un seul gestionnaire DblClick.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub ChangerCouleur( strLabelName As String ) Dim lblActive As Label Set lblActive = Me(strLabelName) If IsNull(lblActive) Then MsgBox "Le label '" & strLabelName & "' n'existe pas. Impossible de modifier son état.", vbCritical, "Erreur - Label inexistant" Exit Sub End If ' Change la couleur du label = change l'état utilisé/pas utilisé If lblActive.ForeColor = CST_ACTIVATE_COLOR Then lblActive.ForeColor = CST_DEACTIVATE_COLOR Else lblActive.ForeColor = CST_ACTIVATE_COLOR End If End Sub Private Sub L_BATEAU_DblClick(Cancel As Integer) ChangerCouleur("L_BATEAU") End Sub Pirvate Sub L_BARQUE_DblClick(Cancel As Integer) ChangerCouleur("L_BARQUE") End Sub
Quelqu'un sait il comment déterminer sur quel Label on vient de cliquer ?
Est-ce possible avec?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Screen.ActiveControl
Merci d'avance !
Partager