The Locale Explorer: GetCalendarInfo, EnumCalendarInfo, EnumCalendarInfoEx |
|
In addition to demonstrating EnumCalendarInfo, EnumCalendarInfoEx and GetCalendarInfo, this also demonstrates handling changing edit control backgrounds, and using international fonts.
To use this page, first select a Call Type, such as EnumCalendarInfo, EnumCalendarInfoEx, or GetCalendarInfo. Then select a CALID parameter. Then select a CALTYPE parameter by clicking in the value field. What will appear is the code window is the required code.
In the above example, the entire code window contents are
//static BOOL CALLBACK EnumCalendarInfoProc(LPTSTR); // add this to your class definition BOOL CALLBACK EnumCalendarInfoProc(LPTSTR info) { // use info, which is a string for CAL_ITWODIGITYEARMAX, here return TRUE; // continue enumeration } // EnumCalendarInfoProc LCID lcid = MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT); if(!::EnumCalendarInfo(EnumCalendarInfoProc, lcid, ENUM_ALL_CALENDARS, CAL_RETURN_NUMBER | CAL_ITWODIGITYEARMAX)) { /* error */ DWORD err = ::GetLastError(); // .. handle error here } /* error */
In the implementation, the callback method adds each of the strings delivered to the callback to the CListCtrl so the two values shown are for the weekday name in each of the two calendars supported.
The views expressed in these essays are those of the author, and in no way represent, nor are they endorsed by, Microsoft.