Bonjour,

j'utilise un enum pour stocker différentes valeurs sur lesquelles je fais du OU.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
enum format{ // Décoration
			NORMAL = 1,
	 		 GRAS = 2,
			 SOULIGNE = 4,
			 ITALIC = 8,
			 // alignement
			 CENTRE = 1024,
			 DROITE = 2048,
			 // Couleur texte 
			 TROUGE = 8192,
			 TVERT = 16384,
			 TBLEU = 32768
			 // Couleur du fond
			 FROUGE = 65536,
			 FVERT = 131072,
			 FBLEU = 262144			 
			 } ;
 
// appel de la fonction 
toto->ecrireChaine("Elvis n'est pas mort", 
CENTRE|GRAS|SOULIGNE|ITALIC) ;
Le deuxieme paramétre de la fonction ecrireChaine est envoyé a la fonction ajouteStyle que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
void xlsWriter::ajouteStyle(int deco){	
	 string definition="";
	 string aligne="";
	 string couleurFond="";
 
	// Décoration
	 if(deco & GRAS)
		definition += " ss:Bold=\"1\"";
    if(deco & SOULIGNE)
		definition += " ss:Underline=\"Single\"";
	if(deco & ITALIC)
		definition += " ss:Italic=\"1\"";
	// Couleur du texte
	if(deco & TROUGE)
		definition += " ss:Color=\"#FF0000\"";
	if(deco & TVERT)
		definition += " ss:Color=\"#00FF00\"";
	if(deco & TBLEU)
		definition += " ss:Color=\"#0000FF\"";
	// Couleur du fond
	if(deco & TROUGE)
		couleurFond += " ss:Color=\"#FF0000\" ss:Pattern=\"Solid\"";
	if(deco & TVERT)
		couleurFond += " ss:Color=\"#00FF00\" ss:Pattern=\"Solid\"";
	if(deco & TBLEU)
		couleurFond += " ss:Color=\"#0000FF\" ss:Pattern=\"Solid\"";
 
	// Alignement
	if (deco & CENTRE)
		aligne += "ss:Horizontal=\"Center\" ss:Vertical=\"Bottom\"";
	if (deco & DROITE)
		aligne += "ss:Horizontal=\"Right\" ss:Vertical=\"Bottom\"";
 
	this->styles[nbstyles].indice = deco;
	this->styles[nbstyles].nom= "Style" + int2string(this->nbstyles);
	this->styles[nbstyles].definition =  "\t\t<Style ss:ID=\"Style" + int2string(this->nbstyles) + "\">\n";
	this->styles[nbstyles].definition += "\t\t\t<Font x:Family=\"Swiss\"" + definition + "/>\n";
	if (!aligne.empty())
		this->styles[nbstyles].definition += "\t\t\t<Alignment " + aligne + "/>";
	if (!couleurFond.empty())
		this->styles[nbstyles].definition += "\t\t\t<Interior " + couleurFond + "/>";
";
 
	this->styles[nbstyles].definition += "\t\t</Style>\n";
	this->nbstyles++;
 
 
}
Je suis donc obligé de conserver cette numérotation.
Y a t'il un moyen pour que l'enum soit de type unsigned long ou autre ??

Merci