Class TbcCalendar (unit bcCalendar)

Inherits from

TCustomGrid

Constructors


constructor Create(AOwner: TComponent);



Functions

procedure NextMonth;


procedure NextYear;


procedure PrevMonth;


procedure PrevYear;


procedure UpdateCalendar;


procedure Change;


procedure ChangeMonth(Delta: Integer);

Given a value of 1 or -1, moves to Next or Prev month accordingly

procedure Click;


function DaysPerMonth(AYear, AMonth: Integer): Integer;


function DaysThisMonth: Integer;

leap-year Feb is special

procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);


function IsLeapYear(AYear: Integer): Boolean;


function SelectCell(ACol, ARow: Longint): Boolean;

day names at tops of columns

procedure WMSize(var Message: TWMSize);

day of week for 1st of month

function GetCellText(ACol, ARow: Integer): string;

the current box is selected, then we use white font

function GetDateElement(Index: Integer): Integer;


function GetVersion : string;


procedure SetCalendarDate(Value: TDateTime);


procedure SetDateElement(Index: Integer; Value: Integer);


procedure SetHolidayFont(AFont : Tfont);


procedure SetStartOfWeek(Value: TDayOfWeek);

If previous date is bigger then the max date this month We have to reduse it to the max date this month

procedure SetUseCurrentDate(Value: Boolean);


procedure SetVersion(Value : string);


function StoreCalendarDate: Boolean;


Properties

property Align :


property BorderStyle :


property Color :


property Ctl3D :


property Day : Integer


property Enabled :


property Font :


property GridLineWidth :


property HolidayFont : TFont

Specific to bcCalendar

property Month : Integer


property ParentColor :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property ReadOnly : Boolean


property ShowHint :


property StartOfWeek : TDayOfWeek


property TabOrder :


property TabStop :


property UseCurrentDate : Boolean


property Version : string


property Visible :


property Year : Integer


property CalendarDate : TDateTime


property CellText : string


Events

event OnChange : TNotifyEvent


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnKeyDown :


event OnKeyPress :


event OnKeyUp :


Variables

FDate : TDateTime;


FHolidayFont : TFont;

These are needed for bcCalendar

FMonthOffset : Integer;


FOnChange : TNotifyEvent;


FReadOnly : Boolean;


FStartOfWeek : TDayOfWeek;


FUpdating : Boolean;


FUseCurrentDate : Boolean;



Constructors


constructor Create(AOwner: TComponent);


Functions


procedure NextMonth;


procedure NextYear;


procedure PrevMonth;


procedure PrevYear;


procedure UpdateCalendar;


procedure Change;


procedure ChangeMonth(Delta: Integer);

Given a value of 1 or -1, moves to Next or Prev month accordingly


procedure Click;


function DaysPerMonth(AYear, AMonth: Integer): Integer;


function DaysThisMonth: Integer;

leap-year Feb is special


procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);


function IsLeapYear(AYear: Integer): Boolean;


function SelectCell(ACol, ARow: Longint): Boolean;

day names at tops of columns


procedure WMSize(var Message: TWMSize);

day of week for 1st of month


function GetCellText(ACol, ARow: Integer): string;

the current box is selected, then we use white font


function GetDateElement(Index: Integer): Integer;


function GetVersion : string;


procedure SetCalendarDate(Value: TDateTime);


procedure SetDateElement(Index: Integer; Value: Integer);


procedure SetHolidayFont(AFont : Tfont);


procedure SetStartOfWeek(Value: TDayOfWeek);

If previous date is bigger then the max date this month We have to reduse it to the max date this month


procedure SetUseCurrentDate(Value: Boolean);


procedure SetVersion(Value : string);


function StoreCalendarDate: Boolean;


Properties


property Align :


property BorderStyle :


property Color :


property Ctl3D :


property Day : Integer


property Enabled :


property Font :


property GridLineWidth :


property HolidayFont : TFont

Specific to bcCalendar


property Month : Integer


property ParentColor :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property ReadOnly : Boolean


property ShowHint :


property StartOfWeek : TDayOfWeek


property TabOrder :


property TabStop :


property UseCurrentDate : Boolean


property Version : string


property Visible :


property Year : Integer


property CalendarDate : TDateTime


property CellText : string


Events


event OnChange : TNotifyEvent


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnKeyDown :


event OnKeyPress :


event OnKeyUp :


Variables


FDate : TDateTime;


FHolidayFont : TFont;

These are needed for bcCalendar


FMonthOffset : Integer;


FOnChange : TNotifyEvent;


FReadOnly : Boolean;


FStartOfWeek : TDayOfWeek;


FUpdating : Boolean;


FUseCurrentDate : Boolean;