Intersection de CRect [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
20 décembre 2006
-
Messages postés
4
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
20 décembre 2006
-
Bonjour à tous,

Je suis tout nouveau débutant en C++..il faut bien commencer un jour..
Mon problème est simple; (pas vu sur d'autres topics)je voudrais afficher l'intersection d'un cercle (pDC->Ellipse...)
avec un carré (pDC->Rectangle).
J'ai essayé plein de solutions avec "IntersectRect" mais je n'arrive pas à coder correctement..
J'ai défini mon cercle et mon carré tel que:
CRect cercle(0,0,150,150);
//pDC->Ellipse(&cercle);

CRect carre(100,100,200,200);
//pDC->Rectangle(&carre);

Ensuite je veux utiliser "IntersectRect" pour afficher une forme géométrique qui n'est, dans ce cas, n'y un cercle n'y un carré. et le remplir d'une couleur, bleue, par exemple.
Si vous avez une solution, je vous en remercie beaucoup d'avance..

Merci de vos réponses,
Spock.

5 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,

C'est pas avec IntersectRect que tu fera cela.

Essaye plutot avec les regions windows. Tu crée une region en forme de
cercle, une en forme de rectangle, et tu les combines pour obtenir ta
forme "qui n'est ni un cercle ni un carré". Apres il te reste plus qu'a
dessiner dans ta région.

Voir sur msdn les apis: CreateRectRgn, CreateEllipticRgn, CombineRgn, FillRgn.
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,

Le tableau point doit etre un tableau de (structure) POINT:

HRGN poly;

POINT point;

point[0].x = 100;

point[0].y = 100;

point[1].x = 100;

point[1].y = 200;

point[2].x = 400;

point[2].y = 560;

point[3].x = 400;

point[3].y = 600;

poly = CreatePolygonRgn(point, 4, 1);
Messages postés
4
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
20 décembre 2006

Re-bonjour!
Merci de cette réponse..je comprends mieux pourquoi je n'y arrivais pas...
Je vais tester !!
Merci encore!!

Spock
Messages postés
4
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
20 décembre 2006

Bonsoir,
Votre aide m'a bien aidé merci.Mais comme je suis plein de fougue je voudrais utiliser CreatePolygonRgn mais j'y arrive pas: J'ai commencé comme suis:
{
HRGN poly;
tagPoint point;

int x; int y;

point(0).x=100;
point(0).y=100;
point(1).x=100;
point(1).y=200;
point(2).x=400;
point(2).y=560;
point(3).x=400;
point(3).y=600;
poly = CreatePolygonRgn(point(0),4,1);
}

Si vous voyez mon erreur...merci beaucoup car j'ai essayé plein de facon et je m'en sort plus!!

A bientot et merci !
Messages postés
4
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
20 décembre 2006

Bonsoir,
Encore Merci! C'est vraiment très sympa de votre part de me répondre. Je vais essayé de plus vous déranger par la suite avec mes problèmes de débutant..

A bientot,
Spock