]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/datectrl.h
Fix generation of key events for non-alphabetic keys under Windows.
[wxWidgets.git] / include / wx / msw / datectrl.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/datectrl.h
3 // Purpose: wxDatePickerCtrl for Windows
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 2005-01-09
7 // RCS-ID: $Id$
8 // Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_MSW_DATECTRL_H_
13 #define _WX_MSW_DATECTRL_H_
14
15 // ----------------------------------------------------------------------------
16 // wxDatePickerCtrl
17 // ----------------------------------------------------------------------------
18
19 class WXDLLIMPEXP_ADV wxDatePickerCtrl : public wxDatePickerCtrlBase
20 {
21 public:
22 // ctors
23 wxDatePickerCtrl() { }
24
25 wxDatePickerCtrl(wxWindow *parent,
26 wxWindowID id,
27 const wxDateTime& dt = wxDefaultDateTime,
28 const wxPoint& pos = wxDefaultPosition,
29 const wxSize& size = wxDefaultSize,
30 long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
31 const wxValidator& validator = wxDefaultValidator,
32 const wxString& name = wxDatePickerCtrlNameStr)
33 {
34 Create(parent, id, dt, pos, size, style, validator, name);
35 }
36
37 bool Create(wxWindow *parent,
38 wxWindowID id,
39 const wxDateTime& dt = wxDefaultDateTime,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize,
42 long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
43 const wxValidator& validator = wxDefaultValidator,
44 const wxString& name = wxDatePickerCtrlNameStr);
45
46 // set/get the date
47 virtual void SetValue(const wxDateTime& dt);
48 virtual wxDateTime GetValue() const;
49
50 // set/get the allowed valid range for the dates, if either/both of them
51 // are invalid, there is no corresponding limit and if neither is set
52 // GetRange() returns false
53 virtual void SetRange(const wxDateTime& dt1, const wxDateTime& dt2);
54 virtual bool GetRange(wxDateTime *dt1, wxDateTime *dt2) const;
55
56 virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
57
58 virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
59
60 // returns true if the platform should explicitly apply a theme border
61 virtual bool CanApplyThemeBorder() const { return false; }
62
63 protected:
64 virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
65 virtual wxSize DoGetBestSize() const;
66
67 // the date currently shown by the control, may be invalid
68 wxDateTime m_date;
69
70
71 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDatePickerCtrl)
72 };
73
74 #endif // _WX_MSW_DATECTRL_H_