/// <summary> /// Initialize a new instance of the ViewDrawButton class. /// </summary> /// <param name="dateTimePicker">Owning control.</param> /// <param name="paletteState">Palette source for states.</param> /// <param name="paletteMetric">Palette source for metric values.</param> /// <param name="buttonValues">Source for content values.</param> /// <param name="glyph">Glyph to be drawn.</param> /// <param name="needPaintHandler">Delegate for requests repainting.</param> /// <param name="repeat">Should button repeat.</param> public ViewDrawDateTimeButton(KryptonDateTimePicker dateTimePicker, IPaletteTriple paletteState, IPaletteMetric paletteMetric, IContentValues buttonValues, DrawDateTimeGlyph glyph, NeedPaintHandler needPaintHandler, bool repeat) : base(paletteState, paletteState, paletteState, paletteState, paletteMetric, buttonValues, VisualOrientation.Top, false) { _dateTimePicker = dateTimePicker; _glyph = glyph; // Assign a controller to handle visual interaction _controller = new ButtonController(this, needPaintHandler); _controller.BecomesFixed = !repeat; _controller.Click += new MouseEventHandler(OnButtonClick); _controller.MouseSelect += new MouseEventHandler(OnButtonMouseSelect); _controller.Repeat = repeat; _controller.ClickOnDown = true; MouseController = _controller; }