95 lines
3.2 KiB
C++
95 lines
3.2 KiB
C++
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corp., 1991 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
bltssn.hxx
|
|
Header file for the SPIN_SLE_NUM object
|
|
|
|
FILE HISTORY:
|
|
terryk 16-Apr-1991 created
|
|
terryk 10-Jul-1991 second code review change. Attend:
|
|
beng rustanl chuckc annmc terryk
|
|
terryk 11-Nov-1991 Change the return type to LONG
|
|
terryk 22-Mar-1992 Changed LONG to ULONG
|
|
terryk 20-Apr-1992 Saved the value during validation time
|
|
|
|
*/
|
|
|
|
#ifndef _BLTSSN_HXX_
|
|
#define _BLTSSN_HXX_
|
|
|
|
#include "bltctrl.hxx"
|
|
#include "bltedit.hxx"
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
NAME: SPIN_SLE_NUM
|
|
|
|
SYNOPSIS: SPIN ITEM object which handles numerical input
|
|
|
|
INTERFACE:
|
|
SPIN_SLE_NUM() - constructor
|
|
~SPIN_SLE_NUM() - destructor
|
|
|
|
QueryContent() - get the current window context
|
|
SaveCurrentData() - get the current window context
|
|
and save it to the internal variable.
|
|
Update() - update the screen value
|
|
|
|
PARENT: SLE, CHANGEABLE_SPIN_ITEM
|
|
|
|
HISTORY:
|
|
terryk 23-May-91 Created
|
|
beng 04-Oct-1991 Win32 conversion
|
|
|
|
**********************************************************************/
|
|
|
|
DLL_CLASS SPIN_SLE_NUM: public SLE, public CHANGEABLE_SPIN_ITEM
|
|
{
|
|
private:
|
|
BOOL _fActive; // set whether the item next to update
|
|
// or not
|
|
static const TCHAR * _pszClassName; // default window class type
|
|
INT _cchMaxInput; // max input character
|
|
BLT_BACKGROUND_EDIT * _pbkgndframe; // background edit frame
|
|
|
|
VOID SetMaxInput(); // set the max input character length
|
|
VOID DisplayNum( ULONG nValue ); // display the given number to the
|
|
// text window
|
|
|
|
protected:
|
|
virtual BOOL OnChar( const CHAR_EVENT & event );
|
|
virtual BOOL OnEnter( const CONTROL_EVENT & event );
|
|
virtual BOOL OnDefocus( const FOCUS_EVENT &event );
|
|
virtual BOOL OnFocus( const FOCUS_EVENT &event );
|
|
virtual BOOL OnKeyDown( const VKEY_EVENT &event );
|
|
|
|
public:
|
|
SPIN_SLE_NUM( OWNER_WINDOW * powin, CID cidEdit,
|
|
ULONG nValue=0, ULONG nMin=0,
|
|
ULONG dRange=0, BOOL fWrap=TRUE, CID cidFrame = -1);
|
|
SPIN_SLE_NUM( OWNER_WINDOW * powin, CID cidEdit,
|
|
XYPOINT xy, XYDIMENSION dxy, ULONG flStyle =
|
|
ES_CENTER | ES_MULTILINE | WS_TABSTOP | WS_CHILD,
|
|
ULONG nValue=0, ULONG nMin=0,
|
|
ULONG dRange=0, BOOL fWrap=TRUE, CID cidFrame = -1);
|
|
~SPIN_SLE_NUM( );
|
|
|
|
VOID QueryContent( ULONG * pnValue ) const;
|
|
VOID QueryContent( NLS_STR * pnlsStr ) const;
|
|
VOID QueryContent( TCHAR * pszBuf, UINT cbBufSize ) const;
|
|
|
|
APIERR SaveCurrentData( );
|
|
VOID Update();
|
|
|
|
VOID SetMin( const ULONG nMin );
|
|
VOID SetRange( const ULONG dRange );
|
|
APIERR SetSaveValue( const ULONG nValue );
|
|
virtual APIERR Validate() { return SaveCurrentData(); };
|
|
};
|
|
|
|
#endif // _BLTSSN_HXX_
|