Commit 0bb2e5ab authored by Alexandre Julliard's avatar Alexandre Julliard

Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>

Implemented current day circling. Fixed many bugs in the month calender control including control spacing and alignment. Fixed defines monthcal.h. Optimized control drawing and removed many extranious redraws. Improved control behavior. Fixed inconsistent formatting in both .c and .h files.
parent 87bff28c
......@@ -12,11 +12,12 @@
#include "windef.h"
#include "wingdi.h"
#define MC_SEL_LBUTUP 0 /* Left button released */
#define MC_SEL_LBUTDOWN 1 /* Left button pressed in calendar */
#define MC_PREVPRESSED 1 /* Prev month button pressed */
#define MC_NEXTPRESSED 2 /* Next month button pressed */
#define MC_NEXTMONTHDELAY 500 /* when continuously pressing `next */
#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 */
......@@ -24,47 +25,51 @@
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 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;
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 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 */
RECT rcClient; /* rect for whole 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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment