📄 lsscalendar.hpp
字号:
bool FNeedUpdate;
int FCellWidth;
int FCellHeight;
int MaxFtvLen;
Classes::TNotifyEvent FOnChange;
void __fastcall CalcRect(void);
Types::TRect __fastcall CalcDayRect(TDate ADate);
void __fastcall GetFirstDay(void);
int __fastcall GetMaxTextSize(AnsiString S, int W, int H);
void __fastcall UpdateHighlight(int X, int Y);
void __fastcall SetSmoothText(bool Value);
void __fastcall SetShadowFont(bool Value);
void __fastcall SetDate(TDate Value);
void __fastcall SetYear(Word Value);
void __fastcall SetMonth(Word Value);
void __fastcall SetDay(Word Value);
void __fastcall SetUseISO8601(bool Value);
void __fastcall SetCalColors(TLssCalColors* Value);
void __fastcall SetFtvList(TFestivalList* Value);
void __fastcall SetLunarCalStyle(TLssCalStyle Value);
void __fastcall SetFtvCalStyle(TLssCalStyle Value);
void __fastcall SetShowVertical(bool Value);
void __fastcall SetChineseEar(bool Value);
void __fastcall SetShowBackMonth(bool Value);
void __fastcall SetShowBackImage(bool Value);
void __fastcall SetShowArrow(bool Value);
void __fastcall SetVerticalScale(double Value);
void __fastcall SetHorizonScale(double Value);
void __fastcall SetAutoFontSize(bool Value);
void __fastcall SetBackImage(Extctrls::TImage* Value);
void __fastcall SetShowBorder(bool Value);
void __fastcall SetShowGrid(bool Value);
void __fastcall SetEnWeekName(bool Value);
protected:
virtual void __fastcall CreateWnd(void);
virtual void __fastcall Paint(void);
DYNAMIC void __fastcall Resize(void);
DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
MESSAGE void __fastcall MouseLeave(Messages::TMessage &Msg);
DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
MESSAGE void __fastcall CMWantSpecialKey(Messages::TWMKey &Message);
HIDESBASEDYNAMIC void __fastcall Changed(void);
public:
__fastcall virtual TLssCalendar(Classes::TComponent* AOwner);
__fastcall virtual ~TLssCalendar(void);
int __fastcall DaysOfLunarYear(int y);
int __fastcall daysofleapMonth(int y);
int __fastcall leapMonth(int y);
int __fastcall Daysofmonth(int y, int m);
THzDate __fastcall ToLunar(TDate TheDate);
AnsiString __fastcall GetAnimal(int y);
AnsiString __fastcall cyclical(int num);
TDate __fastcall ToGreg(const THzDate &objDate);
bool __fastcall ChkHzDate(const THzDate &objDate);
System::TDateTime __fastcall sTerm(int y, int n);
TGzDate __fastcall GetGZ(TDate TheDate);
AnsiString __fastcall FormatLunarDay(int day);
AnsiString __fastcall FormatLunarMonth(int month, bool isLeap);
AnsiString __fastcall FormatLunarYear(int year);
AnsiString __fastcall FormatWeekDay(int WeekDay);
AnsiString __fastcall GetJQ(TDate TheDate);
AnsiString __fastcall GetFtv(TDate TheDate)/* overload */;
AnsiString __fastcall GetFtv(TDate TheDate, Graphics::TColor &fcolor)/* overload */;
Graphics::TColor __fastcall GetMark(TDate TheDate);
AnsiString __fastcall Constellation(TDate TheDate);
int __fastcall WeekOfYear(TDate TheDate);
AnsiString __fastcall WeekEnName(int aWeekDay, bool longNameFormat = false);
AnsiString __fastcall MonthEnName(int aMonth, bool longNameFormat = false);
__property Word Year = {read=FYear, write=SetYear, nodefault};
__property Word Month = {read=FMonth, write=SetMonth, nodefault};
__property Word Day = {read=FDay, write=SetDay, nodefault};
__published:
__property Align = {default=0};
__property Anchors = {default=3};
__property BevelEdges = {default=15};
__property BevelInner = {index=0, default=2};
__property BevelOuter = {index=1, default=1};
__property BevelKind = {default=0};
__property BevelWidth = {default=1};
__property BorderWidth = {default=0};
__property TLssCalColors* CalColors = {read=FCalColors, write=SetCalColors};
__property TFestivalList* FtvList = {read=FFtvList, write=SetFtvList};
__property TLssCalStyle LunarCalStyle = {read=FLunarCalStyle, write=SetLunarCalStyle, default=1};
__property TLssCalStyle FtvCalStyle = {read=FFtvCalStyle, write=SetFtvCalStyle, default=0};
__property Extctrls::TImage* BackImage = {read=FBackImage, write=SetBackImage, default=0};
__property bool ShowVertical = {read=FShowVertical, write=SetShowVertical, default=0};
__property bool ChineseEar = {read=FChineseEar, write=SetChineseEar, default=0};
__property Cursor = {default=0};
__property bool UseISO8601 = {read=FUseISO8601, write=SetUseISO8601, default=0};
__property TDate Date = {read=FViewDate, write=SetDate};
__property Enabled = {default=1};
__property Font ;
__property PopupMenu ;
__property ShowHint ;
__property bool ShowBackMonth = {read=FShowBackMonth, write=SetShowBackMonth, default=1};
__property bool ShowBackImage = {read=FShowBackImage, write=SetShowBackImage, default=0};
__property bool ShowArrow = {read=FShowArrow, write=SetShowArrow, default=1};
__property double VerticalScale = {read=FVerticalScale, write=SetVerticalScale};
__property double HorizonScale = {read=FHorizonScale, write=SetHorizonScale};
__property bool AutoFontSize = {read=FAutoFontSize, write=SetAutoFontSize, default=1};
__property bool ShowBorder = {read=FShowBorder, write=SetShowBorder, default=0};
__property bool ShowGrid = {read=FShowGrid, write=SetShowGrid, default=0};
__property bool EnWeekName = {read=FEnWeekName, write=SetEnWeekName, default=0};
__property bool SmoothText = {read=FSmoothText, write=SetSmoothText, default=0};
__property bool ShadowFont = {read=FShadowFont, write=SetShadowFont, default=0};
__property TabOrder = {default=-1};
__property Visible = {default=1};
__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
__property OnClick ;
__property OnContextPopup ;
__property OnDblClick ;
__property OnKeyDown ;
__property OnKeyUp ;
__property OnKeyPress ;
__property OnMouseDown ;
__property OnMouseMove ;
__property OnMouseUp ;
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TLssCalendar(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TLssCalColors : public Classes::TPersistent
{
typedef Classes::TPersistent inherited;
private:
TLssCalendar* Owner;
Graphics::TColor FTitleBackColor;
Graphics::TColor FWeekBackColor;
Graphics::TColor FDayBackColor;
Graphics::TColor FTrailingTextColor;
Graphics::TColor FLunarTermColor;
Graphics::TColor FSundayColor;
Graphics::TColor FSaturdayColor;
Graphics::TColor FHightlightBackColor;
Graphics::TColor FHightlightTextColor;
Graphics::TColor FBorderColor;
Graphics::TColor FGridColor;
Graphics::TColor FArrowColor;
Graphics::TFont* FTitleTextFont;
Graphics::TFont* FWeekTextFont;
Graphics::TFont* FDayTextFont;
Graphics::TFont* FLunarTextFont;
Graphics::TFont* FFtvTextFont;
Graphics::TFont* FBackMonthTextFont;
void __fastcall SetColor(int Index, Graphics::TColor Value);
void __fastcall SetFont(int Index, Graphics::TFont* Value);
public:
__fastcall TLssCalColors(TLssCalendar* AOwner);
__fastcall virtual ~TLssCalColors(void);
virtual void __fastcall Assign(Classes::TPersistent* Source);
__published:
__property Graphics::TColor TitleBackColor = {read=FTitleBackColor, write=SetColor, index=0, default=-2147483646};
__property Graphics::TColor WeekBackColor = {read=FWeekBackColor, write=SetColor, index=1, default=-2147483643};
__property Graphics::TColor DayBackColor = {read=FDayBackColor, write=SetColor, index=2, default=-2147483643};
__property Graphics::TColor TrailingTextColor = {read=FTrailingTextColor, write=SetColor, index=3, default=-2147483629};
__property Graphics::TColor LunarTermColor = {read=FLunarTermColor, write=SetColor, index=4, default=8388736};
__property Graphics::TColor SundayColor = {read=FSundayColor, write=SetColor, index=5, default=255};
__property Graphics::TColor SaturdayColor = {read=FSaturdayColor, write=SetColor, index=6, default=128};
__property Graphics::TColor HightlightBackColor = {read=FHightlightBackColor, write=SetColor, index=7, default=-2147483646};
__property Graphics::TColor HightlightTextColor = {read=FHightlightTextColor, write=SetColor, index=8, default=16777215};
__property Graphics::TColor BorderColor = {read=FBorderColor, write=SetColor, index=9, default=8421504};
__property Graphics::TColor GridColor = {read=FGridColor, write=SetColor, index=10, default=12632256};
__property Graphics::TColor ArrowColor = {read=FArrowColor, write=SetColor, index=11, default=16777215};
__property Graphics::TFont* TitleTextFont = {read=FTitleTextFont, write=SetFont, index=0};
__property Graphics::TFont* WeekTextFont = {read=FWeekTextFont, write=SetFont, index=1};
__property Graphics::TFont* DayTextFont = {read=FDayTextFont, write=SetFont, index=2};
__property Graphics::TFont* LunarTextFont = {read=FLunarTextFont, write=SetFont, index=3};
__property Graphics::TFont* FtvTextFont = {read=FFtvTextFont, write=SetFont, index=4};
__property Graphics::TFont* BackMonthTextFont = {read=FBackMonthTextFont, write=SetFont, index=5};
};
typedef AnsiString LssCalendar__5[102];
typedef AnsiString LssCalendar__6[12];
typedef AnsiString LssCalendar__7[13];
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE Word lunarInfo[201];
extern PACKAGE System::SmallString<2> Gan[10];
extern PACKAGE System::SmallString<2> Zhi[12];
extern PACKAGE System::SmallString<2> Animals[12];
extern PACKAGE System::SmallString<4> solarTerm[24];
extern PACKAGE int sTermInfo[24];
extern PACKAGE System::SmallString<2> nStr1[11];
extern PACKAGE System::SmallString<2> nStr2[4];
extern PACKAGE AnsiString sFtv[102];
extern PACKAGE AnsiString wFtv[12];
extern PACKAGE AnsiString lFtv[13];
static const int CS_DROPSHADOW = 0x20000;
extern PACKAGE void __fastcall Register(void);
} /* namespace Lsscalendar */
using namespace Lsscalendar;
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // LssCalendar
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -