2009-08-25 6 views
1

J'écris un add-on (par le format de VSPackage) pour Visual Studio. L'une des fonctionnalités est la suivante: lorsque l'utilisateur clique dans la zone de l'éditeur de texte ou appuie sur la touche haut ou bas pour passer à une nouvelle ligne, l'add-on peut capturer cet événement et ensuite faire quelque chose. Contour "dans Visual Assist, lorsque vous cliquez sur une nouvelle ligne, l'élément correspondant sera mis en surbrillance dans la fenêtre de l'outil Outline VA). Le problème que je rencontre est: Je ne trouve aucune API dans Visual Studio Shell ou un autre SDK qui prend en charge l'événement au niveau de la souris (l'espace de noms Envdte80 fournit un événement nommé "TextDocumentKeyPressEvents" qui peut être utilisé au niveau du clavier). un événement). Est-ce que quelqu'un a une solution à cela? Merci d'avance :-)Comment capturer l'événement de clic de souris dans VS2008 par ENVDTE?

Répondre

0

Il n'y a pas de moyen direct de le faire dans l'extensibilité de Visual Studio. Mais vous pouvez utiliser WinAPI natif (à partir du package d'extensibilité C++ ou C#) pour définir un hook global pour la souris, ce qui vous permettra d'intercepter les clics de la souris. Vous pouvez cliquer sur le filtre, obtenir la position du curseur dans l'éditeur de texte, etc. à partir de votre package d'extensibilité.

+0

Eye of Hell, vous avez écrit: *> Vous pouvez alors obtenir la position du curseur dans l'éditeur de texte * Avez-vous une API pour proposer un EnvDTE.TextPoint à partir d'une coordonnée [X, Y] à l'écran de la souris? –

Questions connexes