Récupérer region d'un fenêtre

Résolu
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 18 sept. 2004 à 18:22
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 18 sept. 2004 à 19:05
Salut,

Mon problème est simple (a comprendre): SetWindowRgn sert a choisir la région d'une fenêtre, mais GetWindowRgn ne sert pas a récupérer cette région, mais seulement son type. Y a-t-il un moyen récupérer la région d'une fenêtre?
En fait je ne comprends pas vraiment ce qu'est un region: apparemment on peut la supprimer avec DeleteObject, mais on ne peut pas la récupérer avec GetCurrentObject ni GetObject.
J'avais pensé la récupérer en appelant SelectObject, puisque cette fonction renvoie l'ancien objet du dc, mais ca n'est pas genial.
Merci.

4 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
18 sept. 2004 à 18:58
Salut,
HRGN est en fait un pointeur sur une structure HRGN__ donc la variable est passée par addresse.

L'exemple de MSDN est:
HRGN hrgn = CreateRectRgn(0,0,0,0);
int regionType = GetWindowRgn(hwnd, hrgn);

as tu appelé CreateRectRgn(...)?
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
18 sept. 2004 à 18:48
Salut,
D'apres ce que j'ai compris, GetWindowRgn(...) sert a récuperer la région de la fenetre, en plus de son type.
La fonction modifie le handle que tu passes en 2eme param (elle le remplace par le handle de la region de la fenetre).
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 sept. 2004 à 18:53
Moi la region reste a 0, rien d'étonnant pour une variable qu'on passe par valeur...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 sept. 2004 à 19:05
Ah bah oui tiens ca marche. Vraiment je trouve ca bizarre comme utilisation...
Merci pour ton aide
0
Rejoignez-nous