Par contre pour tes explications il y a erreur:
- Il n'y a absolument aucun hook.
- Utilise le sous classement de fenêtre (ici le controle EDIT est la cible sous classée).
- C'est toujours le EDIT qui reçoit les touches en premier, simplement il ne repasse pas l'event à sa procédure par défaut mais le traitement est fait par code dans la fonction de sous classement.
oliviervillemain
Messages postés4Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention25 août 2005 23 août 2005 à 08:55
Salut,
Cette solution du "Enabled = False" n'est malheureusement pas fiable à 100%.
Réalisez une rafale de clic droits et vous verrez votre menu perso apparaître mais également de temps en temps le maudit menu standard de microsoft.
LA solution, car il en existe bien une, est nettement plus dangereuse.
Il est utilisé le hooking (API windows) qui intercepte le clic droit de l'utilisateur avant même que le textbox ne le reçoive.
Si j'ai dit "dangereuse", c'est que si vous arrêtezl'exécution de votre projet par le carré Stop de VB (autrement dit sans passer par l'événement Unload), vous aurez un violent message d'erreur et la fermeture immédiate de votre projet (si vous n'aviez pas sauvegarder c'est dommage...)
23 sept. 2007 à 11:35
Source simple et efficace
Bonne continuation.
23 août 2005 à 09:47
est un bon exemple, suffit de ne pas lancer dans l'IDE mais seulement depuis exe compilé.
Par contre pour tes explications il y a erreur:
- Il n'y a absolument aucun hook.
- Utilise le sous classement de fenêtre (ici le controle EDIT est la cible sous classée).
- C'est toujours le EDIT qui reçoit les touches en premier, simplement il ne repasse pas l'event à sa procédure par défaut mais le traitement est fait par code dans la fonction de sous classement.
23 août 2005 à 08:55
Cette solution du "Enabled = False" n'est malheureusement pas fiable à 100%.
Réalisez une rafale de clic droits et vous verrez votre menu perso apparaître mais également de temps en temps le maudit menu standard de microsoft.
LA solution, car il en existe bien une, est nettement plus dangereuse.
Il est utilisé le hooking (API windows) qui intercepte le clic droit de l'utilisateur avant même que le textbox ne le reçoive.
Si j'ai dit "dangereuse", c'est que si vous arrêtezl'exécution de votre projet par le carré Stop de VB (autrement dit sans passer par l'événement Unload), vous aurez un violent message d'erreur et la fermeture immédiate de votre projet (si vous n'aviez pas sauvegarder c'est dommage...)
L'adresse de LA solution propre : http://www.vbfrance.com/forum.v2.aspx?id=57656
Merci à rivierem qui apporte une solution fiable à 100 % et le code complet d'un exemple.
2 août 2005 à 16:00
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Text1.Enabled = False
Text1.Enabled = True
PopupMenu mnuFichiers, , , , mnuOuvrir
end sub
J'ai pas testé ton code, mais je suis pas sur qu'il y ait de differences.
++
28 juil. 2005 à 20:08
Elle est sympathique ta source. J'apprécie sa simplicité (une dizaine de lignes) et les commentaires.
Bonne continuation à toi,
Cacophrène
PS : Certains veulent des chiffres. Il paraît que noter est une chose attendue. Alors c'est bien, ben donc : 8.