CDatePicker


Implements DatePicker control.

You can find more information in comments below. Overrided methods can be found in corresponding base classes and interfaces.

class CDatePicker :public virtual IDatePicker, public CControl
{
public:
    enum STATE // Control and elements states 
    {
        stNormal, // Normal 
        stHovered, // Mouse pointer is over the control/element 
        stFocused, // Control is focused 
        stFocusedHovered, // Control is focused and mouse pointer is over it 
        stActive, // Mouse button is down on one of the arrows 
        stActiveHovered, // Mouse button is down on one of the arrows and mouse pointer is over the control(or arrow if the state relates to arrow) 
        stDisabled // Disabled 
    };

    enum DISPLAY_MODE // Display mode 
    {
        dmDropDown, // Has a month calendar which could be shown by clicking on coresponding area or pressing F4 key 
        dmUpDown, // Has up and down arrows used to increase and decrese active element(year/month/day) value 
        dmSimple // Has neither up+down arrows no month calendar 
    };

    enum MONTH_FORMAT // Month format 
    {
        mfShort, // Show month number(1..12) 
        mfMedium, // Show month short name(like, Jan) 
        mfLong // Show month full name(like January) 
    };

    enum ELEMENT_ORDER // Element order 
    {
        eoDayMonthYear, // Day, month, year 
        eoDayYearMonth, // Day, year, month 
        eoMonthDayYear, // Month, day, year 
        eoMonthYearDay, // Month, year, day 
        eoYearDayMonth, // Year, day, month 
        eoYearMonthDay // Year, month, day 
    };

    enum OPEN_DIRECTION // Where month calendar should appear 
    {
        odAuto, // At the bottom of the control by default but if it is too close to the form bottom it will appear above the control. Works only if there are not rotations in control hierarchy 
        odUp, // Appear above the control 
        odDown // Appear under the control 
    };

    enum OPEN_ALIGN // How month calendar should be horizontally aligned relative to the control 
    {
        oaLeft, // Aligned to the left 
        oaRight, // Aligned to the right 
        oaCenter, // Aligned to center 
        oaJustify // Month calendar should have the same width as control(if possible) 
    };
public:
    // IControl getters 
    IControl * getControl(const int index) override;
    IControl *getControl(const String &name) override;
    IControl *getControl(const PointF &position) override;
    RectF getRenderRect() override;

    // IControl setters 
    bool setDPI(const Point &value) override;

    // IControl methods 
    void Refresh(const bool refresh_children) override;

    // IDatePicker getters 
    int getYear() override;
    int getMonth() override;
    int getDay() override;
    int getMinYear() override;
    int getMinMonth() override;
    int getMinDay() override;
    int getMaxYear() override;
    int getMaxMonth() override;
    int getMaxDay() override;

    // IDatePicker setters 
    bool setYear(const int value) override;
    bool setMonth(const int value) override;
    bool setDay(const int value) override;
    bool setMinYear(const int value) override;
    bool setMinMonth(const int value) override;
    bool setMinDay(const int value) override;
    bool setMaxYear(const int value) override;
    bool setMaxMonth(const int value) override;
    bool setMaxDay(const int value) override;

    CDatePicker(); // Create 
    CDatePicker(IForm *parent); // Create and place on the form 
    CDatePicker(IControl *parent); // Create and place on the parent control 
    ~CDatePicker() override;

    // CBuiltInMonthCalendar getters. Available only if associated IBuiltInMonthCalendar is instance of CBuiltInMonthCalendar(which is true by default) 
    CBuiltInMonthCalendar::MODE getCalendarMode();
    bool isCalendarShowToday();
    RectF getCalendarTitlePadding();
    RectF getCalendarTodayPadding();
    RectF getCalendarElementPadding();
    RectF getCalendarDayPadding();
    float getCalendarTodayMargin();
    float getCalendarTodayRectWidth();
    bool isCalendarAnimate();
    float getCalendarAnimateInterval();
    float getCalendarAnimateMinScale();
    float getCalendarAnimateTime();
    float getCalendarScrollInterval();
    TEXT_ALIGN getCalendarTitleAlign(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitleBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitleBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectC getCalendarTitleBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Gradient *getCalendarTitleBackgroundGradient(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitlePrevRangeBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitlePrevRangeBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectC getCalendarTitlePrevRangeBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitlePrevRangeBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Gradient *getCalendarTitlePrevRangeBackgroundGradient(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitlePrevRangePadding(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitlePrevRangeColor1(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitlePrevRangeColor2(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitlePrevRangeColor3(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitleNextRangeBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitleNextRangeBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectC getCalendarTitleNextRangeBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleNextRangeBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Gradient *getCalendarTitleNextRangeBackgroundGradient(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTitleNextRangePadding(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleNextRangeColor1(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleNextRangeColor2(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTitleNextRangeColor3(const CBuiltInMonthCalendar::TITLE_STATE state);
    TEXT_ALIGN getCalendarTodayAlign(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTodayBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTodayBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectC getCalendarTodayBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTodayBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Gradient *getCalendarTodayBackgroundGradient(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTodayColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTodayRectBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectF getCalendarTodayRectBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state);
    RectC getCalendarTodayRectBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Color getCalendarTodayRectBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state);
    Gradient *getCalendarTodayRectBackgroundGradient(const CBuiltInMonthCalendar::TITLE_STATE state);
    TEXT_ALIGN getCalendarElementHorizontalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    VERTICAL_ALIGN getCalendarElementVerticalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    RectF getCalendarElementBorderRadius(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    RectF getCalendarElementBorderWidth(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    RectC getCalendarElementBorderColor(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    Color getCalendarElementBackgroundColor(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    Gradient *getCalendarElementBackgroundGradient(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    Color getCalendarElementColor(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    Color getCalendarElementOutlineColor(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    unsigned int getCalendarElementOutlineMask(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    TEXT_ALIGN getCalendarDayHorizontalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    VERTICAL_ALIGN getCalendarDayVerticalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state);
    TEXT_ALIGN getCalendarDayTitleHorizontalAlign(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    VERTICAL_ALIGN getCalendarDayTitleVerticalAlign(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    RectF getCalendarDayTitleBorderRadius(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    RectF getCalendarDayTitleBorderWidth(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    RectC getCalendarDayTitleBorderColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    Color getCalendarDayTitleBackgroundColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    Gradient *getCalendarDayTitleBackgroundGradient(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);
    Color getCalendarDayTitleColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state);

    // CBuiltInMonthCalendar setters. Available only if associated IBuiltInMonthCalendar is instance of CBuiltInMonthCalendar(which is true by default) 
    bool setCalendarMode(const CBuiltInMonthCalendar::MODE value);
    bool setCalendarShowToday(const bool value);
    bool setCalendarTitlePadding(const RectF &value);
    bool setCalendarTodayPadding(const RectF &value);
    bool setCalendarElementPadding(const RectF &value);
    bool setCalendarDayPadding(const RectF &value);
    bool setCalendarTodayMargin(const float value);
    bool setCalendarTodayRectWidth(const float value);
    bool setCalendarAnimate(const bool value);
    bool setCalendarAnimateInterval(const float value);
    bool setCalendarAnimateMinScale(const float value);
    bool setCalendarAnimateTime(const float value);
    bool setCalendarScrollInterval(const float value);
    bool setCalendarTitleAlign(const CBuiltInMonthCalendar::TITLE_STATE state, const TEXT_ALIGN value);
    bool setCalendarTitleBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitleBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitleBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state, const RectC &value);
    bool setCalendarTitleBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitleColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitlePrevRangeBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitlePrevRangeBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitlePrevRangeBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state, const RectC &value);
    bool setCalendarTitlePrevRangeBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitlePrevRangePadding(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitlePrevRangeColor1(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitlePrevRangeColor2(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitlePrevRangeColor3(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitleNextRangeBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitleNextRangeBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitleNextRangeBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state, const RectC &value);
    bool setCalendarTitleNextRangeBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitleNextRangePadding(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTitleNextRangeColor1(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitleNextRangeColor2(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTitleNextRangeColor3(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTodayAlign(const CBuiltInMonthCalendar::TITLE_STATE state, const TEXT_ALIGN value);
    bool setCalendarTodayBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTodayBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTodayBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state, const RectC &value);
    bool setCalendarTodayBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTodayColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarTodayRectBorderRadius(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTodayRectBorderWidth(const CBuiltInMonthCalendar::TITLE_STATE state, const RectF &value);
    bool setCalendarTodayRectBorderColor(const CBuiltInMonthCalendar::TITLE_STATE state, const RectC &value);
    bool setCalendarTodayRectBackgroundColor(const CBuiltInMonthCalendar::TITLE_STATE state, const Color &value);
    bool setCalendarElementHorizontalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state, const TEXT_ALIGN value);
    bool setCalendarElementVerticalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state, const VERTICAL_ALIGN value);
    bool setCalendarElementBorderRadius(const CBuiltInMonthCalendar::ELEMENT_STATE state, const RectF &value);
    bool setCalendarElementBorderWidth(const CBuiltInMonthCalendar::ELEMENT_STATE state, const RectF &value);
    bool setCalendarElementBorderColor(const CBuiltInMonthCalendar::ELEMENT_STATE state, const RectC &value);
    bool setCalendarElementBackgroundColor(const CBuiltInMonthCalendar::ELEMENT_STATE state, const Color &value);
    bool setCalendarElementColor(const CBuiltInMonthCalendar::ELEMENT_STATE state, const Color &value);
    bool setCalendarElementOutlineColor(const CBuiltInMonthCalendar::ELEMENT_STATE state, const Color &value);
    bool setCalendarElementOutlineMask(const CBuiltInMonthCalendar::ELEMENT_STATE state, const unsigned int value);
    bool setCalendarDayHorizontalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state, const TEXT_ALIGN value);
    bool setCalendarDayVerticalAlign(const CBuiltInMonthCalendar::ELEMENT_STATE state, const VERTICAL_ALIGN value);
    bool setCalendarDayTitleHorizontalAlign(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const TEXT_ALIGN value);
    bool setCalendarDayTitleVerticalAlign(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const VERTICAL_ALIGN value);
    bool setCalendarDayTitleBorderRadius(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const RectF &value);
    bool setCalendarDayTitleBorderWidth(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const RectF &value);
    bool setCalendarDayTitleBorderColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const RectC &value);
    bool setCalendarDayTitleBackgroundColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const Color &value);
    bool setCalendarDayTitleColor(const CBuiltInMonthCalendar::DAY_TITLE_STATE state, const Color &value);

    // Getters 
    STATE getState(); // Return control state 
    DISPLAY_MODE getDisplayMode() const; // Return display format 
    MONTH_FORMAT getMonthFormat() const; // Return month format 
    ELEMENT_ORDER getElementOrder() const; // Return element order 
    OPEN_DIRECTION getOpenDirection() const; // Return month calendar appear direction 
    OPEN_ALIGN getOpenAlign() const; // Return month calendar horizontal alignment 
    String getSeparator1() const; // Return separator value between first and second elements 
    String getSeparator2() const; // Return separator value between second and third elements 
    bool isShowDayLeadingZeros() const; // Return whether day should have leading zero if day is less than 10 
    bool isShowMonthLeadingZeros() const; // Return whether month should have leading zero if month is less than 10(works in mfShort month format mode only) 
    bool isShowYearLeadingZeros() const; // Return whether year should have leading zero if year is less than 1000 
    bool isShowIcon() const; // Return whether icon should be shown near the down arrow in dmDropDown display mode 
    float getTimerInterval() const; // Return update interval when mouse is down over an up or down arrow 
    bool isArrowsAtRight() const; // Return whether arrows at the control right or left side 
    TEXT_ALIGN getContentAlign() const; // Return time horizontal alignment inside control area 
    int getShadowRadius(const STATE state) const; // Return control shadow radius. "state" is the control state 
    PointF getShadowShift(const STATE state) const; // Return control shadow shift. "state" is the control state 
    Color getShadowColor(const STATE state) const; // Return control shadow color. "state" is the control state 
    RectF getBorderRadius(const STATE state) const; // Return control corner radiuses. "state" is the control state 
    RectF getOuterBorderWidth(const STATE state) const; // Return control outer border widths. "state" is the control state 
    RectC getOuterBorderColor(const STATE state) const; // Return control outer border colors. "state" is the control state 
    RectF getInnerBorderWidth(const STATE state) const; // Return control inner border widths. "state" is the control state 
    RectC getInnerBorderColor(const STATE state) const; // Return control inner border colors. "state" is the control state 
    Color getBackgroundColor(const STATE state) const; // Return control background color. "state" is the control state 
    Gradient *getBackgroundGradient(const STATE state); // Return control background gradient. "state" is the control state 
    RectF getUpArrowBorderRadius(const STATE state) const; // Return up-arrow area corner radiuses. "state" is the arrow state. Used in up-down mode only 
    RectF getUpArrowOuterBorderWidth(const STATE state) const; // Return up-arrow area outer border widths. "state" is the arrow state. Used in up-down mode only 
    RectF getUpArrowInnerBorderWidth(const STATE state) const; // Return up-arrow area inner border widths. "state" is the arrow state. Used in up-down mode only 
    RectC getUpArrowOuterBorderColor(const STATE state) const; // Return up-arrow area outer border colors. "state" is the arrow state. Used in up-down mode only 
    RectC getUpArrowInnerBorderColor(const STATE state) const; // Return up-arrow area inner border colors. "state" is the arrow state. Used in up-down mode only 
    Color getUpArrowBackgroundColor(const STATE state) const; // Return up-arrow area background color. "state" is the arrow state. Used in up-down mode only 
    Gradient *getUpArrowBackgroundGradient(const STATE state); // Return up-arrow area background gradient. "state" is the arrow state. Used in up-down mode only 
    RectF getUpArrowPadding(const STATE state) const; // Return up-arrow area padding. "state" is the arrow state. Used in up-down mode only 
    Color getUpArrowColor1(const STATE state) const; // Return up-arrow first point color. "state" is the arrow state. Used in up-down mode only 
    Color getUpArrowColor2(const STATE state) const; // Return up-arrow second point color. "state" is the arrow state. Used in up-down mode only 
    Color getUpArrowColor3(const STATE state) const; // Return up-arrow third point color. "state" is the arrow state. Used in up-down mode only 
    RectF getDownArrowBorderRadius(const STATE state) const; // Return down-arrow area corner radiuses. "state" is the arrow state. Used in up-down mode only 
    RectF getDownArrowOuterBorderWidth(const STATE state) const; // Return down-arrow area outer border widths. "state" is the arrow state. Used in up-down mode only 
    RectF getDownArrowInnerBorderWidth(const STATE state) const; // Return down-arrow area inner border widths. "state" is the arrow state. Used in up-down mode only 
    RectC getDownArrowOuterBorderColor(const STATE state) const; // Return down-arrow area outer border colors. "state" is the arrow state. Used in up-down mode only 
    RectC getDownArrowInnerBorderColor(const STATE state) const; // Return down-arrow area inner border colors. "state" is the arrow state. Used in up-down mode only 
    Color getDownArrowBackgroundColor(const STATE state) const; // Return down-arrow area background color. "state" is the arrow state. Used in up-down mode only 
    Gradient *getDownArrowBackgroundGradient(const STATE state); // Return down-arrow area background gradient. "state" is the arrow state. Used in up-down mode only 
    RectF getDownArrowPadding(const STATE state) const; // Return down-arrow area padding. "state" is the arrow state. Used in up-down mode only 
    Color getDownArrowColor1(const STATE state) const; // Return down-arrow first point color. "state" is the arrow state. Used in up-down mode only 
    Color getDownArrowColor2(const STATE state) const; // Return down-arrow second point color. "state" is the arrow state. Used in up-down mode only 
    Color getDownArrowColor3(const STATE state) const; // Return down-arrow third point color. "state" is the arrow state. Used in up-down mode only 
    float getArrowDistance(const STATE state) const; // Return distance between up and down arrows. "state" is the control state. Used in up-down mode only 
    RectF getArrowBorderRadius(const STATE state) const; // Return arrow area corner radiuses. "state" is the arrow state. Used in drop-down mode only 
    RectF getArrowOuterBorderWidth(const STATE state) const; // Return arrow area outer border widths. "state" is the arrow state. Used in drop-down mode only 
    RectF getArrowInnerBorderWidth(const STATE state) const; // Return arrow area inner border widths. "state" is the arrow state. Used in drop-down mode only 
    RectC getArrowOuterBorderColor(const STATE state) const; // Return arrow area outer border colors. "state" is the arrow state. Used in drop-down mode only 
    RectC getArrowInnerBorderColor(const STATE state) const; // Return arrow area inner border colors. "state" is the arrow state. Used in drop-down mode only 
    Color getArrowBackgroundColor(const STATE state) const; // Return arrow area background color. "state" is the arrow state. Used in drop-down mode only 
    Gradient *getArrowBackgroundGradient(const STATE state); // Return arrow area background gradient. "state" is the arrow state. Used in drop-down mode only 
    RectF getArrowPadding(const STATE state) const; // Return arrow area padding. "state" is the arrow state. Used in drop-down mode only 
    Color getArrowColor1(const STATE state) const; // Return arrow first point color. "state" is the arrow state. Used in drop-down mode only 
    Color getArrowColor2(const STATE state) const; // Return arrow second point color. "state" is the arrow state. Used in drop-down mode only 
    Color getArrowColor3(const STATE state) const; // Return arrow third point color. "state" is the arrow state. Used in drop-down mode only 
    IImageList *getImageList(); // Return assocciated image list which is a source of custom icon 
    int getIconIndex(const STATE state) const; // Return icon index 
    RectF getIconPadding(const STATE state) const; // Return icon padding 
    Color getElementBackgroundColor(const STATE state) const; // Return element(years, months, days) background color. "state" is the element state 
    Gradient *getElementBackgroundGradient(const STATE state); // Return element(years, months, days) background gradient. "state" is the element state 
    Color getElementColor(const STATE state) const; // Return element(years, months, days) text color. "state" is the element state 
    float getElementPadding(const STATE state) const; // Return distance between borders/arrows and content. "state" is the control state 
    float getCalendarMargin() const; // Return month calendar vertical distance to the control 
    RectF getCalendarOuterBorderWidth() const; // Return month calendar outer border widths 
    RectF getCalendarInnerBorderWidth() const; // Return month calendar inner border widths 
    RectF getCalendarPadding() const; // Return month calendar padding 
    int getCalendarShadowRadius() const; // Return month calendar shadow radius 
    PointF getCalendarShadowShift() const; // Return month calendar shadow shift 
    Color getCalendarShadowColor() const; // Return month calendar shadow color 
    RectF getCalendarBorderRadius() const; // Return month calendar corner radiuses 
    RectC getCalendarOuterBorderColor() const; // Return month calendar outer border colors 
    RectC getCalendarInnerBorderColor() const; // Return month calendar inner border colors 
    Color getCalendarBackgroundColor() const; // Return month calendar background color 
    Gradient *getCalendarBackgroundGradient(); // Return month calendar background gradient 

    // Setters 
    bool setMonthCalendar(IBuiltInMonthCalendar *value); // Set new built-in month calendar 
    bool setDisplayMode(const DISPLAY_MODE value); // Set display mode 
    bool setMonthFormat(const MONTH_FORMAT value); // Set month format 
    bool setElementOrder(const ELEMENT_ORDER value); // Set elements order 
    bool setOpenDirection(const OPEN_DIRECTION value); // Set month calendar appear direction 
    bool setOpenAlign(const OPEN_ALIGN value); // Set month calendar horizontal alignment 
    bool setSeparator1(const String &value); // Set separator value between first and second elements 
    bool setSeparator2(const String &value); // Set separator value between second and third elements 
    bool setShowDayLeadingZeros(const bool value); // Set whether day should have leading zero if day is less than 10 
    bool setShowMonthLeadingZeros(const bool value); // Set whether month should have leading zero if month is less than 10(works in mfShort month format mode only) 
    bool setShowYearLeadingZeros(const bool value); // Set whether year should have leading zero if year is less than 1000 
    bool setShowIcon(const bool value); // Set whether icon should be shown near the down arrow in dmDropDown display mode 
    bool setTimerInterval(const float value); // Set update interval when mouse is down over an up or down arrow 
    bool setArrowsAtRight(const bool value); // Set whether arrows at the control right or left side 
    bool setContentAlign(const TEXT_ALIGN value); // Set time horizontal alignment inside control area 
    bool setShadowRadius(const STATE state, const int value); // Set control shadow radius. "state" is the control state 
    bool setShadowShift(const STATE state, const PointF &value); // Set control shadow shift. "state" is the control state 
    bool setShadowColor(const STATE state, const Color &value); // Set control shadow color. "state" is the control state 
    bool setBorderRadius(const STATE state, const RectF &value); // Set control corner radiuses. "state" is the control state 
    bool setOuterBorderWidth(const STATE state, const RectF &value); // Set control outer border widths. "state" is the control state 
    bool setOuterBorderColor(const STATE state, const RectC &value); // Set control outer border colors. "state" is the control state 
    bool setInnerBorderWidth(const STATE state, const RectF &value); // Set control inner border widths. "state" is the control state 
    bool setInnerBorderColor(const STATE state, const RectC &value); // Set control inner border colors. "state" is the control state 
    bool setBackgroundColor(const STATE state, const Color &value); // Set control background color. "state" is the control state 
    bool setUpArrowBorderRadius(const STATE state, const RectF &value); // Set up-arrow area corner radiuses. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowOuterBorderWidth(const STATE state, const RectF &value); // Set up-arrow area outer border widths. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowInnerBorderWidth(const STATE state, const RectF &value); // Set up-arrow area inner border widths. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowOuterBorderColor(const STATE state, const RectC &value); // Set up-arrow area outer border colors. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowInnerBorderColor(const STATE state, const RectC &value); // Set up-arrow area inner border colors. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowBackgroundColor(const STATE state, const Color &value); // Set up-arrow area background color. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowPadding(const STATE state, const RectF &value); // Set up-arrow area padding. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowColor1(const STATE state, const Color &value); // Set up-arrow first point color. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowColor2(const STATE state, const Color &value); // Set up-arrow second point color. "state" is the arrow state. Used in up-down mode only 
    bool setUpArrowColor3(const STATE state, const Color &value); // Set up-arrow third point color. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowBorderRadius(const STATE state, const RectF &value); // Set down-arrow area corner radiuses. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowOuterBorderWidth(const STATE state, const RectF &value); // Set down-arrow area outer border widths. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowInnerBorderWidth(const STATE state, const RectF &value); // Set down-arrow area inner border widths. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowOuterBorderColor(const STATE state, const RectC &value); // Set down-arrow area outer border colors. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowInnerBorderColor(const STATE state, const RectC &value); // Set down-arrow area inner border colors. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowBackgroundColor(const STATE state, const Color &value); // Set down-arrow area background color. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowPadding(const STATE state, const RectF &value); // Set down-arrow area padding. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowColor1(const STATE state, const Color &value); // Set down-arrow first point color. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowColor2(const STATE state, const Color &value); // Set down-arrow second point color. "state" is the arrow state. Used in up-down mode only 
    bool setDownArrowColor3(const STATE state, const Color &value); // Set down-arrow third point color. "state" is the arrow state. Used in up-down mode only 
    bool setArrowDistance(const STATE state, const float value); // Set distance between up and down arrows. "state" is the control state. Used in up-down mode only 
    bool setArrowBorderRadius(const STATE state, const RectF &value); // Set down-arrow area corner radiuses. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowOuterBorderWidth(const STATE state, const RectF &value); // Set down-arrow area outer border widths. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowInnerBorderWidth(const STATE state, const RectF &value); // Set down-arrow area inner border widths. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowOuterBorderColor(const STATE state, const RectC &value); // Set down-arrow area outer border colors. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowInnerBorderColor(const STATE state, const RectC &value); // Set down-arrow area inner border colors. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowBackgroundColor(const STATE state, const Color &value); // Set down-arrow area background color. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowPadding(const STATE state, const RectF &value); // Set down-arrow area padding. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowColor1(const STATE state, const Color &value); // Set down-arrow first point color. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowColor2(const STATE state, const Color &value); // Set down-arrow second point color. "state" is the arrow state. Used in drop-down mode only 
    bool setArrowColor3(const STATE state, const Color &value); // Set down-arrow third point color. "state" is the arrow state. Used in drop-down mode only 
    bool setImageList(IImageList *value); // Set image list which is a source of custom icon 
    bool setIconIndex(const STATE state, const int value); // Set icon index 
    bool setIconPadding(const STATE state, const RectF &value); // Set icon padding 
    bool setElementBackgroundColor(const STATE state, const Color &value); // Set element(years, months, days) background color. "state" is the element state 
    bool setElementColor(const STATE state, const Color &value); // Set element(years, months, days) text color. "state" is the element state 
    bool setElementPadding(const STATE state, const float value); // Set distance between borders/arrows and content. "state" is the control state 
    bool setCalendarMargin(const float value); // Set month calendar vertical distance to the control 
    bool setCalendarOuterBorderWidth(const RectF &value); // Set month calendar outer border widths 
    bool setCalendarInnerBorderWidth(const RectF &value); // Set month calendar inner border widths 
    bool setCalendarPadding(const RectF &value); // Set month calendar padding 
    bool setCalendarShadowRadius(const int value); // Set month calendar shadow radius 
    bool setCalendarShadowShift(const PointF &value); // Set month calendar shadow shift 
    bool setCalendarShadowColor(const Color &value); // Set month calendar shadow color 
    bool setCalendarBorderRadius(const RectF &value); // Set month calendar corner radiuses 
    bool setCalendarOuterBorderColor(const RectC &value); // Set month calendar outer border colors 
    bool setCalendarInnerBorderColor(const RectC &value); // Set month calendar inner border colors 
    bool setCalendarBackgroundColor(const Color &value); // Set month calendar background color 

    // Methods 
    bool ActivateYears(); // Activate years part 
    bool ActivateMonth(); // Activate months part 
    bool ActivateDays(); // Activate days part 
    bool Open(); // Show month calendar 
    bool Close(); // Close month calendar 
};
Namespace: nitisa::standard
Include: Standard/Controls/DatePicker/DatePicker.h