📄 smonthcalendar.hpp
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'sMonthCalendar.pas' rev: 6.00
#ifndef sMonthCalendarHPP
#define sMonthCalendarHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ExtCtrls.hpp> // Pascal unit
#include <sDefaults.hpp> // Pascal unit
#include <sSpeedButton.hpp> // Pascal unit
#include <sDateUtils.hpp> // Pascal unit
#include <sMessages.hpp> // Pascal unit
#include <ComCtrls.hpp> // Pascal unit
#include <Forms.hpp> // Pascal unit
#include <StdCtrls.hpp> // Pascal unit
#include <sConst.hpp> // Pascal unit
#include <sGraphUtils.hpp> // Pascal unit
#include <sPanel.hpp> // Pascal unit
#include <acntUtils.hpp> // Pascal unit
#include <Messages.hpp> // Pascal unit
#include <Grids.hpp> // Pascal unit
#include <Buttons.hpp> // Pascal unit
#include <Graphics.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit
#include <System.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Smonthcalendar
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TGetCellParams)(System::TObject* Sender, System::TDateTime Date, Graphics::TFont* AFont, Graphics::TColor &Background);
class DELPHICLASS TsCalendGrid;
class DELPHICLASS TsMonthCalendar;
class PASCALIMPLEMENTATION TsMonthCalendar : public Spanel::TsPanel
{
typedef Spanel::TsPanel inherited;
private:
System::TDateTime FDate;
int FMonthOffset;
Classes::TNotifyEvent FOnChange;
bool FReadOnly;
Comctrls::TCalDayOfWeek FStartOfWeek;
bool FUpdating;
bool FUseCurrentDate;
Sconst::TDaysOfWeek FWeekends;
Graphics::TColor FWeekendColor;
bool FShowTitle;
TGetCellParams FOnGetCellParams;
bool FShowCurrentDate;
TGetCellParams FOnDrawDay;
AnsiString __fastcall GetCellText(int ACol, int ARow);
int __fastcall GetDateElement(int Index);
void __fastcall SetCalendarDate(System::TDateTime Value);
void __fastcall SetDateElement(int Index, int Value);
void __fastcall SetStartOfWeek(Comctrls::TCalDayOfWeek Value);
void __fastcall SetUseCurrentDate(bool Value);
void __fastcall SetWeekendColor(Graphics::TColor Value);
void __fastcall SetWeekends(Sconst::TDaysOfWeek Value);
bool __fastcall IsWeekend(int ACol, int ARow);
void __fastcall CalendarUpdate(bool DayOnly);
bool __fastcall StoreCalendarDate(void);
int __fastcall FirstDay(void);
void __fastcall TopPanelDblClick(System::TObject* Sender);
void __fastcall SetShowTitle(const bool Value);
void __fastcall SetShowCurrentDate(const bool Value);
protected:
DYNAMIC void __fastcall Change(void);
void __fastcall ChangeMonth(int Delta);
int __fastcall DaysThisMonth(void);
void __fastcall PrevMonthBtnClick(System::TObject* Sender);
void __fastcall NextMonthBtnClick(System::TObject* Sender);
void __fastcall PrevYearBtnClick(System::TObject* Sender);
void __fastcall NextYearBtnClick(System::TObject* Sender);
public:
TsCalendGrid* FGrid;
Spanel::TsDragBar* FDragBar;
Sspeedbutton::TsTimerSpeedButton* FBtns[4];
__fastcall virtual TsMonthCalendar(Classes::TComponent* AOwner);
__fastcall virtual ~TsMonthCalendar(void);
virtual void __fastcall Loaded(void);
virtual void __fastcall Invalidate(void);
void __fastcall NextMonth(void);
void __fastcall NextYear(void);
void __fastcall PrevMonth(void);
void __fastcall PrevYear(void);
virtual void __fastcall UpdateCalendar(void);
__property AnsiString CellText[int ACol][int ARow] = {read=GetCellText};
virtual void __fastcall WndProc(Messages::TMessage &Message);
__property TGetCellParams OnDrawDay = {read=FOnDrawDay, write=FOnDrawDay};
__published:
__property Align = {default=0};
__property BorderWidth = {default=0};
__property BevelWidth = {default=5};
__property Width = {default=178};
__property Height = {default=139};
__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
__property TGetCellParams OnGetCellParams = {read=FOnGetCellParams, write=FOnGetCellParams};
__property System::TDateTime CalendarDate = {read=FDate, write=SetCalendarDate, stored=StoreCalendarDate};
__property int Day = {read=GetDateElement, write=SetDateElement, stored=false, index=3, nodefault};
__property int Month = {read=GetDateElement, write=SetDateElement, stored=false, index=2, nodefault};
__property bool ReadOnly = {read=FReadOnly, write=FReadOnly, default=0};
__property Comctrls::TCalDayOfWeek StartOfWeek = {read=FStartOfWeek, write=SetStartOfWeek, default=7};
__property bool ShowCurrentDate = {read=FShowCurrentDate, write=SetShowCurrentDate, default=1};
__property bool ShowTitle = {read=FShowTitle, write=SetShowTitle, default=1};
__property bool UseCurrentDate = {read=FUseCurrentDate, write=SetUseCurrentDate, default=1};
__property Graphics::TColor WeekendColor = {read=FWeekendColor, write=SetWeekendColor, default=255};
__property Sconst::TDaysOfWeek Weekends = {read=FWeekends, write=SetWeekends, default=64};
__property int Year = {read=GetDateElement, write=SetDateElement, stored=false, index=1, nodefault};
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TsMonthCalendar(HWND ParentWindow) : Spanel::TsPanel(ParentWindow) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsCalendGrid : public Grids::TDrawGrid
{
typedef Grids::TDrawGrid inherited;
private:
TsMonthCalendar* FOwner;
HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
protected:
virtual void __fastcall WndProc(Messages::TMessage &Message);
public:
DYNAMIC void __fastcall Click(void);
DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
DYNAMIC void __fastcall KeyPress(char &Key);
virtual bool __fastcall SelectCell(int ACol, int ARow);
virtual void __fastcall DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState);
virtual void __fastcall Paint(void);
__fastcall virtual TsCalendGrid(Classes::TComponent* AOwner);
HIDESBASE void __fastcall MouseToCell(int X, int Y, int &ACol, int &ARow);
__property GridLineWidth = {default=1};
__property DefaultColWidth = {default=64};
__property DefaultRowHeight = {default=24};
public:
#pragma option push -w-inl
/* TCustomGrid.Destroy */ inline __fastcall virtual ~TsCalendGrid(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TsCalendGrid(HWND ParentWindow) : Grids::TDrawGrid(ParentWindow) { }
#pragma option pop
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Smonthcalendar */
using namespace Smonthcalendar;
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // sMonthCalendar
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -