git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			129 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        msw/spinctrl.h
 | |
| // Purpose:     wxSpinCtrl class declaration for Win32
 | |
| // Author:      David Webster
 | |
| // Modified by:
 | |
| // Created:     10/15/99
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) David Webster
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_MSW_SPINCTRL_H_
 | |
| #define _WX_MSW_SPINCTRL_H_
 | |
| 
 | |
| #include "wx/spinbutt.h"    // the base class
 | |
| #include "wx/dynarray.h"
 | |
| class WXDLLIMPEXP_FWD_CORE wxSpinCtrl;
 | |
| WX_DEFINE_EXPORTED_ARRAY_PTR(wxSpinCtrl *, wxArraySpins);
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // Under Win32 and OS2 PM, wxSpinCtrl is a wxSpinButton with a buddy
 | |
| // text window whose contents is automatically updated when the spin
 | |
| // control is clicked.
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLIMPEXP_CORE wxSpinCtrl : public wxSpinButton
 | |
| {
 | |
| public:
 | |
|     wxSpinCtrl() { }
 | |
|     wxSpinCtrl( wxWindow*       pParent
 | |
|                ,wxWindowID      vId = wxID_ANY
 | |
|                ,const wxString& rsValue = wxEmptyString
 | |
|                ,const wxPoint&  rPos = wxDefaultPosition
 | |
|                ,const wxSize&   rSize = wxDefaultSize
 | |
|                ,long            lStyle = wxSP_ARROW_KEYS
 | |
|                ,int             nMin = 0
 | |
|                ,int             nMax = 100
 | |
|                ,int             nInitial = 0
 | |
|                ,const wxString& rsName = _T("wxSpinCtrl")
 | |
|               )
 | |
|     {
 | |
|         Create(pParent, vId, rsValue, rPos, rSize, lStyle, nMin, nMax, nInitial, rsName);
 | |
|     }
 | |
|     virtual ~wxSpinCtrl();
 | |
| 
 | |
|     bool Create(wxWindow*       pParent
 | |
|                ,wxWindowID      vId = wxID_ANY
 | |
|                ,const wxString& rsValue = wxEmptyString
 | |
|                ,const wxPoint&  rPos = wxDefaultPosition
 | |
|                ,const wxSize&   rSize = wxDefaultSize
 | |
|                ,long            lStyle = wxSP_ARROW_KEYS
 | |
|                ,int             nMin = 0
 | |
|                ,int             nMax = 100
 | |
|                ,int             nInitial = 0
 | |
|                ,const wxString& rsName = _T("wxSpinCtrl")
 | |
|               );
 | |
| 
 | |
|     //
 | |
|     // A wxTextCtrl-like method (but we can't have GetValue returning wxString
 | |
|     // because the base class already has one returning int!)
 | |
|     //
 | |
|     void SetValue(const wxString& rsText);
 | |
| 
 | |
|     //
 | |
|     // implementation only from now on
 | |
|     // -------------------------------
 | |
|     //
 | |
|     virtual bool Enable(bool bEnable = true);
 | |
| 
 | |
|     virtual int  GetValue(void) const;
 | |
| 
 | |
|     virtual bool SetFont(const wxFont &rFont);
 | |
|     virtual void SetFocus(void);
 | |
| 
 | |
|     inline virtual void SetValue(int nVal) { wxSpinButton::SetValue(nVal); }
 | |
| 
 | |
|     void SetSelection(long lFrom, long lTo);
 | |
| 
 | |
|     virtual bool Show(bool bShow = true);
 | |
| 
 | |
|     //
 | |
|     // wxSpinButton doesn't accept focus, but we do
 | |
|     //
 | |
|     inline virtual bool AcceptsFocus(void) const { return false; }
 | |
| 
 | |
|     //
 | |
|     // Return the spinctrl object whose buddy is the given window or NULL
 | |
|     // Doesn't really do much under OS/2
 | |
|     //
 | |
|     static wxSpinCtrl*  GetSpinForTextCtrl(WXHWND hWndBuddy);
 | |
| 
 | |
|     //
 | |
|     // Process a WM_COMMAND generated by the buddy text control
 | |
|     //
 | |
|     bool ProcessTextCommand( WXWORD wCmd
 | |
|                             ,WXWORD wId
 | |
|                            );
 | |
| 
 | |
| protected:
 | |
|     virtual void          DoGetPosition( int* nlX
 | |
|                                         ,int* nlY
 | |
|                                        ) const;
 | |
|     void                  DoMoveWindow( int nX
 | |
|                                        ,int nY
 | |
|                                        ,int nWidth
 | |
|                                        ,int nHeight
 | |
|                                       );
 | |
|     virtual wxSize        DoGetBestSize(void) const;
 | |
|     virtual void          DoGetSize( int* pnWidth
 | |
|                                     ,int* pnHeight
 | |
|                                    ) const;
 | |
| 
 | |
|     //
 | |
|     // The handler for wxSpinButton events
 | |
|     //
 | |
|     void OnSpinChange(wxSpinEvent& rEvent);
 | |
|     void OnChar(wxKeyEvent& rEvent);
 | |
|     void OnSetFocus(wxFocusEvent& rEvent);
 | |
| 
 | |
|     WXHWND                          m_hWndBuddy;
 | |
|     static wxArraySpins             m_svAllSpins;
 | |
| 
 | |
| private:
 | |
|     DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
 | |
|     DECLARE_EVENT_TABLE()
 | |
| }; // end of CLASS wxSpinCtrl
 | |
| 
 | |
| #endif // _WX_MSW_SPINCTRL_H_
 |