2010-06-06 8 views
2

J'écris une application WPF qui permet à l'utilisateur de dessiner sur tout l'écran lorsque le bouton droit de la souris est enfoncé. J'utilise une forme de superposition transparente en plein écran pour y parvenir, cependant, lorsque je dessine des lignes avec la souris, ce qui se passe est que la partie de ma fenêtre qui contient la ligne devient visible (comme prévu). L'effet indésirable de ceci est que si la ligne est sur une partie d'une autre application comme une zone de texte, ou un lien hypertexte, cela ramène le curseur au curseur par défaut de mon application (flèche), au lieu des autres applications). Je veux que ma superposition soit transparente pour l'utilisateur, et montre juste leur chemin de dessin, plutôt que d'avoir une interaction avec le curseur de la souris.Afficher le curseur de la souris des applications sous-jacentes lorsque vous passez la souris sur la section visible de l'application

Voir mon exemple ci-dessous:

alt text http://i47.tinypic.com/2qlg9rs.png

Répondre

1

Voir this thread une solution mais ce sera probablement en conflit avec la façon dont vous capturez les événements de souris. Vous pouvez essayer un crochet de souris ou essayez de passer l'entrée à la fenêtre underneath à la place. Vous voudrez peut-être étendre votre recherche à win32, wndproc etc. Le retour de HTTRANSPARENT de WM_NCHITTEST ne fonctionne pas dans ce cas.

+0

Le premier lien que vous m'avez envoyé correspondait exactement à ce que je cherchais. J'utilise un hook de souris global, donc je n'ai pas besoin de compter sur les événements de formulaire. Merci beaucoup!! –