182Fermer184
SallyLe 20/04/2009 à 01:19
Je ne comprends pas en fait. Si WIN_RECT est déjà une structure dont les quatre membres sont quatre shorts, et que ce à quoi tu veux accéder ce sont lesdits shorts, tu n'as même pas besoin de faire une union, il suffit d'accéder aux membres de la structure ?
il suffit que dans struct Misc tu mettes un membre WIN_RECT Rect; à la place des quatre shorts
et ensuite tu remplaces Data.CursX0 par Data.Rect.NomdupremiermembredeWIN_RECT, et hop ^^



Sinon pour répondre à ta question je ne connais pas bien les union, mais à mon avis ta déclaration n'est pas bonne. D'abord le membre WIN_RECT devrait avoir un nom, pas juste un type, et ensuite il me semble que là x0, x1 etc. sont déclarés comme des membres différents, ça ne va pas. Il faut les mettre soit dans une structure soit dans un tableau, pour que ce soit un seul élément.
en fait il faudrait un truc du genre :
typedef union {
WIN_RECT Rect;
struct {short x0, y0, x1, y1;} Curs;
} WINRECT;

et struct Misc {
WINRECT Rect;
...

et pour Data.CursX0 tu fais : Data.Rect.Curs.x0
mais c'est plus compliqué que ma première proposition et je suis pas sûr que ce soit plus utile ^^