| /* | |
| * Month calendar class extra info | |
| * | |
| * Copyright 1998 Eric Kohl | |
| * Copyright 1999 Alex Priem | |
| */ | |
| #ifndef __WINE_MONTHCAL_H | |
| #define __WINE_MONTHCAL_H | |
| #include "commctrl.h" | |
| #include "windef.h" | |
| #include "wingdi.h" | |
| #define MC_SEL_LBUTUP 1 /* Left button released */ | |
| #define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */ | |
| #define MC_PREVPRESSED 4 /* Prev month button pressed */ | |
| #define MC_NEXTPRESSED 8 /* Next month button pressed */ | |
| #define MC_NEXTMONTHDELAY 350 /* when continuously pressing `next */ | |
| /* month', wait 500 ms before going */ | |
| /* to the next month */ | |
| #define MC_NEXTMONTHTIMER 1 /* Timer ID's */ | |
| #define MC_PREVMONTHTIMER 2 | |
| typedef struct tagMONTHCAL_INFO | |
| { | |
| COLORREF bk; | |
| COLORREF txt; | |
| COLORREF titlebk; | |
| COLORREF titletxt; | |
| COLORREF monthbk; | |
| COLORREF trailingtxt; | |
| HFONT hFont; | |
| HFONT hBoldFont; | |
| int textHeight; | |
| int textWidth; | |
| int height_increment; | |
| int width_increment; | |
| int left_offset; | |
| int top_offset; | |
| int firstDayplace; /* place of the first day of the current month */ | |
| int delta; /* scroll rate; # of months that the */ | |
| /* control moves when user clicks a scroll button */ | |
| int visible; /* # of months visible */ | |
| int firstDay; /* Start month calendar with firstDay's day */ | |
| int monthRange; | |
| MONTHDAYSTATE *monthdayState; | |
| SYSTEMTIME todaysDate; | |
| DWORD currentMonth; | |
| DWORD currentYear; | |
| int status; /* See MC_SEL flags */ | |
| int curSelDay; /* current selected day */ | |
| int firstSelDay; /* first selected day */ | |
| int maxSelCount; | |
| SYSTEMTIME minSel; | |
| SYSTEMTIME maxSel; | |
| DWORD rangeValid; | |
| SYSTEMTIME minDate; | |
| SYSTEMTIME maxDate; | |
| RECT rcClient; /* rect for whole client area */ | |
| RECT rcDraw; /* rect for drawable portion of client area */ | |
| RECT title; /* rect for the header above the calendar */ | |
| RECT titlebtnnext; /* the `next month' button in the header */ | |
| RECT titlebtnprev; /* the `prev month' button in the header */ | |
| RECT titlemonth; /* the `month name' txt in the header */ | |
| RECT titleyear; /* the `year number' txt in the header */ | |
| RECT prevmonth; /* day numbers of the previous month */ | |
| RECT nextmonth; /* day numbers of the next month */ | |
| RECT days; /* week numbers at left side */ | |
| RECT weeknums; /* week numbers at left side */ | |
| RECT today; /* `today: xx/xx/xx' text rect */ | |
| } MONTHCAL_INFO, *LPMONTHCAL_INFO; | |
| extern void MONTHCAL_CopyTime (const SYSTEMTIME *from, SYSTEMTIME *to); | |
| extern int MONTHCAL_CalculateDayOfWeek (DWORD day, DWORD month, DWORD year); | |
| extern const int mdays[]; | |
| extern const char * const daytxt[]; | |
| extern const char * const monthtxt[]; | |
| extern void MONTHCAL_Register (void); | |
| extern void MONTHCAL_Unregister (void); | |
| #endif /* __WINE_MONTHCAL_H */ |