- Private Sub mnuPopup_Click(Index As Integer)
-
- ' Le menu utilisé pour le popup est un groupe de controle ,
- ' on recupère l'index pour assigner une commande au menu.
- ' En utilisant SendKeys , on evite de programmer les fonctions
- ' de copier - coller en utlisant les raccourci clavier
- ' (CTRL + C , CTRL + V , etc...)
- '
- ' Pour rappel : CTRL + Z = Annuler
- ' CTRL + X = Couper
- ' CTRL + C = Copier
- ' CTRL + V = Coller
- ' CTRL + A = Selectionner tout
-
- Select Case Index
- Case 0
- SendKeys "^(z)" ' le ^ signifie la touche CTRL
- Case 1
- ' Separateur ' pour pouvoir indexer le menu , il faut que les menus indéxés
- Case 2 ' doit aussi indexer les separateurs soit consecutifs, donc on
- SendKeys "^(x)"
- Case 3
- SendKeys "^(c)"
- Case 4
- SendKeys "^(v)"
- Case 5
- SendKeys "{DEL}" ' ici c'est la touche SUPPR
- Case 6
- ' Separateur
- Case 7
- SendKeys "^(a)"
- End Select
-
- End Sub
-
- Private Sub RichTextBox1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
-
- ' Ici on met Enabled sur True ou False selon l'etat du RichtTextBox
- ' On active le menu Copier si du texte est selectionné , etc....
- '
- ' Pour que le popup s'affiche sur n'importe quel RichTextBox ,
- ' ils doivent tous faire partie de meme groupe de controles
-
- With RichTextBox1(Index)
- mnuPopup(0).Enabled = True
- mnuPopup(2).Enabled = IIf(.SelLength > 0, True, False)
- mnuPopup(3).Enabled = IIf(.SelLength > 0, True, False)
- mnuPopup(4).Enabled = IIf(Clipboard.GetText <> "", True, False)
- mnuPopup(5).Enabled = IIf(.SelLength > 0, True, False)
- mnuPopup(7).Enabled = IIf(Len(.Text) > 0, True, False)
- If .Locked = True Then
- mnuPopup(0).Enabled = False
- mnuPopup(2).Enabled = False
- mnuPopup(4).Enabled = False
- mnuPopup(5).Enabled = False
- End If
- End With
-
-
-
- ' Et on affiche le menu si le clik droit est selectionné
-
- If Button = 2 Then
- PopupMenu mnuRichTextBox
- End If
-
- End Sub
Private Sub mnuPopup_Click(Index As Integer)
' Le menu utilisé pour le popup est un groupe de controle ,
' on recupère l'index pour assigner une commande au menu.
' En utilisant SendKeys , on evite de programmer les fonctions
' de copier - coller en utlisant les raccourci clavier
' (CTRL + C , CTRL + V , etc...)
'
' Pour rappel : CTRL + Z = Annuler
' CTRL + X = Couper
' CTRL + C = Copier
' CTRL + V = Coller
' CTRL + A = Selectionner tout
Select Case Index
Case 0
SendKeys "^(z)" ' le ^ signifie la touche CTRL
Case 1
' Separateur ' pour pouvoir indexer le menu , il faut que les menus indéxés
Case 2 ' doit aussi indexer les separateurs soit consecutifs, donc on
SendKeys "^(x)"
Case 3
SendKeys "^(c)"
Case 4
SendKeys "^(v)"
Case 5
SendKeys "{DEL}" ' ici c'est la touche SUPPR
Case 6
' Separateur
Case 7
SendKeys "^(a)"
End Select
End Sub
Private Sub RichTextBox1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
' Ici on met Enabled sur True ou False selon l'etat du RichtTextBox
' On active le menu Copier si du texte est selectionné , etc....
'
' Pour que le popup s'affiche sur n'importe quel RichTextBox ,
' ils doivent tous faire partie de meme groupe de controles
With RichTextBox1(Index)
mnuPopup(0).Enabled = True
mnuPopup(2).Enabled = IIf(.SelLength > 0, True, False)
mnuPopup(3).Enabled = IIf(.SelLength > 0, True, False)
mnuPopup(4).Enabled = IIf(Clipboard.GetText <> "", True, False)
mnuPopup(5).Enabled = IIf(.SelLength > 0, True, False)
mnuPopup(7).Enabled = IIf(Len(.Text) > 0, True, False)
If .Locked = True Then
mnuPopup(0).Enabled = False
mnuPopup(2).Enabled = False
mnuPopup(4).Enabled = False
mnuPopup(5).Enabled = False
End If
End With
' Et on affiche le menu si le clik droit est selectionné
If Button = 2 Then
PopupMenu mnuRichTextBox
End If
End Sub