Hit Test API

neurosupherot Messages postés 81 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 7 novembre 2007 - 7 août 2007 à 23:13
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 8 août 2007 à 18:35
Bonjour!!

J'aimerais savoir par quels moyens peut-on retrouver si un pixel d'une form est cliquable ou pas.

J'entends par cliquable, le fait de ne pas cliquer à travers, lorsqu'elle est soumise à des régions.


Y a t il une api qui peut faire le travail? une sorte de Hit Test

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 août 2007 à 06:29
pas compris ...

ressemble a wm_hittest

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 août 2007 à 08:49
je viens de comprendre... (faut le temps, j'ai un peu de mal au reveil, semble-t'il ^^)

donc oui, tu peux utiliser SendMessage et WM_HITTEST pour tester si le retour est HT_CLIENT (par exemple)

sinon, tu peux utilise l'API PtInRegion pour tester si un point particulier appartient a une region... (en faisant un GetWindowRgn avant, par exemple)
0
neurosupherot Messages postés 81 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 7 novembre 2007
8 août 2007 à 09:46
Ahh, renfield!:)

merci:) j'essaye de suite ;)
0
neurosupherot Messages postés 81 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 7 novembre 2007
8 août 2007 à 13:24
Pour le WM_HITTEST( ou Plutôt WM_NCHITTEST),

j'arrive qu'à obtenir un resultat par callwindowproc( un peu embêtant
car généralement destiné au subclassing, arrêtez moi si je me trompe).

Avec les mêmes paramètres,

SendMessage me renvoie tjs 0, autant dire rien

DefWindowProc Idem.


Comment faire alors pour ceci?


Pour les régions:


GetWindowRgn renvoie le type de region, pas un handle.

Y a t il une API qui renvoie un handle vers une region en fonction d'une Form? Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 août 2007 à 18:35
on doit pas lire la même doc ^^

http://msdn2.microsoft.com/en-us/library/ms534843.aspx

The GetWindowRgn function obtains a copy of the window region of a window.

<dt>hRgn</dt><dd>[in] Handle to the region which will be modified to represent the window region.
donc tu dois lui donner une region, que l'API modifie...

Renfield
Admin CodeS-SourceS- MVP Visual Basic</dd>
0
Rejoignez-nous