saibe
Messages postés46Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention16 avril 2009
-
15 sept. 2006 à 20:53
saibe
Messages postés46Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention16 avril 2009
-
18 sept. 2006 à 17:04
hello tout le monde !
Trouver le titre du sujet m'a déjà posé des problèmes, alors j'espère pouvoir être clair.
j'aimerai pouvoir gérer le style de mes objets par des #define et ainsi combiné différents styles
exemple qui ne fonctionne pas terrible :
class MonObjet : public CObject
{
//création destruction et plein de fonctions....dont
// l'objet se dessine tout seul dans la zone rect d'un pDC
void dessine(CDC* pDC, CRect rect, DWORD le_fameux_style)
{
switch(le_fameux_style)
{
case MA_HORIZ: pDC->Ellipse(rect);
case MA_LISTE_GEREE://il dessine autre chose
//etc...
}
//####### OU
if(le_fameux_style&MA_HORIZ)pDC->Ellipse(rect);
if(le_fameux_style&MA_LISTE_GEREE)://....
//etc...
};
}
je voudrais donc que MonObjet se dessine en MA_HORIZ et ou sans MA_LISTE_GEREE
sans devoir gérer toutes les combinaisons dans la class
par un simple
MonObjet* obj;
obj = new MonObjet();
obj->dessine(pDC, rect, (MA_HORIZ | MA_LISTE_GEREE));
ou
obj->dessine(pDC, rect, (MA_VERTI | MA_LISTE_NON_GEREE));
mais voilà.... ça ne fonctionne pas
est-ce les define, la procédure switch ou if, l'appel
si quelqu'un pouvait m'aider ?
merci
saibe
Messages postés46Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention16 avril 2009 16 sept. 2006 à 06:02
Hello BruNews.
en effet, je n'ai pas mis de 'break' pour ne pas casser le 'switch';
car il faut pouvoir vérifier tous les 'case'
si je 'break' un 'case' je sors du 'switch' non ?
saibe
Messages postés46Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention16 avril 2009 16 sept. 2006 à 15:30
hello !
et merci pour vos réponses;
en effet j'ai opté pour le if avec masque
c'est ce qui convenait le mieux pour mon objet; même si j'aurais préféré un switch plus lisible....
et j'avais pas mis de 'break' pour justement passer à la ligne du dessous.... mais le switch ne masque po et ne gère donc po les combinaisons....
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 16 sept. 2006 à 15:34
Je suis tout à fait d'accord que les if ne sont pas des plus lisibles, mais il faut bien avouer que les masques sont quand même très très pratiques.
Bon courage pour la suite.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"