Kalender med win32

Tags:    c++

Jeg er har fundet nogle sidder om hvordan man kan indsætte en kalender i et program (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/monthcal/monthcal.asp#mc_processing_MCN_GETDAYSTATE)
PRoblemet er det, at jeg ikke kan fremhæve nogle bestemte dage. Gør jeg det bliver de fremhævet i samtlige måneder.
Fold kodeboks ind/udKode 


Som koden er nu markerer den den 16. i den nuværende måned, men når man skifter måned markerer den stadigvæk den 16.
Jeg har brugt flere dage på at få det til at fungere, så jeg ville blive meget glad hvis der var en der kunne hjælpe mig.



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Problemet er at du bruger det samme array (mds) til alle måneder.

Du bliver nødt til at oprette et array for hver ny måned.

Jeg er ikke sikker på at du altid kan gå ud fra at der er netop 3 elementer i array'et.

Det er også et problem at det array du bruger er lokalt, det bliver nødt til at være et globalt (static) array.




Jeg er ikke helt sikker på hvad du mener. Da der kun bliver vist en måned af gangen, plus noget af den næste og den forige, er det så ikke kun nødvendigt at hage tre elementer i arrayet?
Hvordan kan man vælge hvilket array der skal benyttes. Det ser ud til at array[1] er den valgte måned, og arrag[0] og array[2] er henholdsvis den der kommer før, og den næste. Er der en metode så man på forhånd kan sætte en række måneder, eller hvordan kan/bør det gøres?



Hvis man læser om NMDAYSTATE strukturen på msdn står der om dennes cDayState:

"INT value specifying the total number of elements that must be in the array at prgDayState".

Så jeg er ikke sikker på at det altid er 3 måneder den beder om information om.

Den samme struktur har et element kaldet stStart der er af type SYSTEMTIME, denne fortæller hvilken start måned systemet beder om state information for. Så du kan bruge stStart.wYear og stStart.wMonth til at vælge hvilket array du vil bruge, eller til at lave et array ud fra de specificerede måneder.



Ja, det virkede.

Tak for hjælpen. :D



t