{***************************************************************}
{                                                               }
{   TMonthCalendar component                                       }
{   Date:    Sep, 30 1996                                       }
{   Version: 0.1 bate                                           }
{   Author:  Andy Lee Yiu                                       }
{   System:  Delphi 2.0 with MS IE 3.0 or greater installed     }
{                                                               }
{   E-Mail: andylee@hkstar.com                                  }
{                                                               }
{***************************************************************}
{ Sep, 30 1996 Version 0.1 bate
  TMonthCalendar is a customizable monthly calendar control,
  subclass the new common control shipped with MS IE 3.0, that allow users
  select a day or range of days.
  This control had four styles property
    csDayState - Set Day State which can set the day with bold
                 Doesn't work at this movement
    csMultiSelect - allow Multi-Selection, depend on NumSelectDay property
    csWeekNumbers - display week numbers in left side of calendar
    csNoToday - does not show today circle

  User can change the calendar color by the property
    property CalendarBackground: TColor
    property CalendarText: TColor
    property CalendarTitleBK: TColor
    property CalendarTitleText: TColor
    property CalendarMonthBK: TColor
    property CalendarTrailingText: TColor

  type
    TDateTimeRange = array [0..1] of TDateTime; // for multi selected from and To Date

    // This style is for the function GetCurMonthRange
    TMonthRangeStyle = (mrsVisible,       // visible portion of display
                        mrsDayState);     // above plus the grayed out parts of


  Runtime properties:
    function GetCurMonthRange(Value: TMonthRangeStyle): TDateTimeRange;
      return the TDateTimeRange Value which is the starting date and ending date
      in the Monthly calendar displayed based on the TMonthRangeStyle flag. If
      set mrsVisible that return visible portion of gisplay
      set mrsDayState that retuen above plue grayed out parts of
      value [0] = starting date
      value [1] = ending date

    property Day: TDateTime
      return the selected date if Styles is MultiSelect reture first selected date.
    property MultiDays: TDateTimeRange
      return the selected range of starting and ending date.
      value [0] = starting date
      value [1] = ending date

}
