?? calendars.h
字號:
/***************************************************************************
****************************************************************************/
// Calendar.h : header file
/////////////////////////////////////////////////////////////////////////////
#define HIWORD(l) ((UINT16) (((UINT32) (l) >> 16) & 0xFFFF))
#define LOWORD(l) ((UINT16) (l)&0xFFFF)
#define HIBYTE(w) ((UINT8) (((UINT16) (w) >> 8) & 0xFF))
#define LOBYTE(w) ((UINT8) (w)&0xFF)
//判斷iYear是不是閏年
static BOOL CAL_IsLeapYear(UINT16 iYear)
{return (BOOL)(!(iYear%4)&&(iYear%100) || !(iYear%400));}
//計算iYear,iMonth,iDay對應是星期幾 1年1月1日 --- 65535年12月31日
static UINT16 CAL_WeekDay(UINT16 iYear, UINT16 iMonth, UINT16 iDay);
//返回iYear年iMonth月的天數 1年1月 --- 65535年12月
static UINT16 CAL_MonthDays(UINT16 iYear, UINT16 iMonth);
//返回陰歷iLunarYer年陰歷iLunarMonth月的天數,如果iLunarMonth為閏月,
//高字為第二個iLunarMonth月的天數,否則高字為0
// 1901年1月---2050年12月
static UINT32 CAL_LunarMonthDays(UINT16 iLunarYear, UINT16 iLunarMonth);
//返回陰歷iLunarYear年的總天數
// 1901年1月---2050年12月
static UINT16 CAL_LunarYearDays(UINT16 iLunarYear);
//返回陰歷iLunarYear年的閏月月份,如沒有返回0
// 1901年1月---2050年12月
static UINT16 CAL_GetLeapMonth(UINT16 iLunarYear);
//把iYear年格式化成天干記年法表示的字符串
static void CAL_FormatLunarYear(UINT16 iYear, UINT8 *pBuffer);
//把iMonth格式化成中文字符串
static void CAL_FormatMonth(UINT16 iMonth, UINT8 *pBuffer, BOOL);
//把iDay格式化成中文字符串
static void CAL_FormatLunarDay(UINT16 iDay, UINT8 *pBuffer);
//計算公歷兩個日期間相差的天數 1年1月1日 --- 65535年12月31日
static UINT32 CAL_CalcDateDiff(UINT16 iEndYear, UINT16 iEndMonth, UINT16 iEndDay);
//計算公歷iYear年iMonth月iDay日對應的陰歷日期,返回對應的陰歷節氣 0-24
//1901年1月1日---2050年12月31日
static UINT16 CAL_GetLunarDate(UINT16 iYear, UINT16 iMonth, UINT16 iDay,
UINT16* iLunarYear, UINT16* iLunarMonth, UINT16* iLunarDay);
//計算從1901年1月1日過iSpanDays天后的陰歷日期
static UINT8 CAL_CalcLunarDate(UINT16* iYear, UINT16* iMonth,UINT16* iDay, UINT32 iSpanDays);
//計算公歷iYear年iMonth月iDay日對應的節氣 0-24,0表不是節氣
static UINT16 CAL_GetLunarHolDay(UINT16 iYear, UINT16 iMonth, UINT16 iDay);
BOOL CAL_GetHoilday(UINT16, UINT16, UINT16, UINT16);
void CAL_PaintChineseInfo(UINT16, UINT16, UINT16 iHolDay);
void CAL_PaintTitle(T_OSGRect);
void CAL_PaintDate(T_OSGRect);
void CAL_PaintOneDay( UINT16 *iDay,
UINT16 *iLunarYear,
UINT16 *iLunarMonth, UINT16 *iLuanrDay,
UINT32 startx, UINT32 starty, UINT8 bSecondLeapMonth);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -