windows-nt/Source/XPSP1/NT/admin/netui/common/h/bltedit.hxx
2020-09-26 16:20:57 +08:00

326 lines
8.5 KiB
C++

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corp., 1991 **/
/**********************************************************************/
/*
bltedit.hxx
BLT text control class definitions
FILE HISTORY:
beng 17-Sep-1991 Separated from bltctrl.hxx
beng 17-Oct-1991 Relocated SLT_PLUS to applib
thomaspa 21-Jan-1992 Added validate to SLE
thomaspa 13-Feb-1992 Moved validation from SLE to ICANON_SLE
*/
#ifndef _BLT_HXX_
#error "Don't include this file directly; instead, include it through blt.hxx"
#endif // _BLT_HXX_
#ifndef _BLTEDIT_HXX_
#define _BLTEDIT_HXX_
#include "bltctrl.hxx"
/**********************************************************************
NAME: TEXT_CONTROL
SYNOPSIS: Text control class
INTERFACE:
TEXT_CONTROL() - constructor
PARENT: CONTROL_WINDOW
USES:
CAVEATS:
NOTES:
HISTORY:
rustanl 20-Nov-90 Creation
**********************************************************************/
DLL_CLASS TEXT_CONTROL : public CONTROL_WINDOW
{
public:
TEXT_CONTROL( OWNER_WINDOW * powin, CID cid );
TEXT_CONTROL( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName );
};
/**********************************************************************
NAME: STATIC_TEXT_CONTROL
SYNOPSIS: Static text control class
INTERFACE:
STATIC_TEXT_CONTROL() - constructor.
PARENT: TEXT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
**********************************************************************/
DLL_CLASS STATIC_TEXT_CONTROL : public TEXT_CONTROL
{
public:
STATIC_TEXT_CONTROL( OWNER_WINDOW * powin, CID cid );
STATIC_TEXT_CONTROL( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle,
const TCHAR * pszClassName = CW_CLASS_STATIC );
};
/**********************************************************************
NAME: SLT
SYNOPSIS: Single line text class
INTERFACE:
SLT() - constructor
PARENT: STATIC_TEXT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
KeithMo 27-Aug-1992 Added CONTROL_VALUE methods.
**********************************************************************/
DLL_CLASS SLT : public STATIC_TEXT_CONTROL
{
private:
BOOL _fSavedEnableState;
protected:
virtual VOID SaveValue( BOOL fInvisible = TRUE );
virtual VOID RestoreValue( BOOL fInvisible = TRUE );
public:
SLT( OWNER_WINDOW * powin, CID cid );
SLT( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle,
const TCHAR * pszClassName = CW_CLASS_STATIC );
};
/**********************************************************************
NAME: MLT
SYNOPSIS: multi-line static text control class
INTERFACE:
MLT() - mlt constructor.
PARENT: STATIC_TEXT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
beng 17-May-1991 Added app-window constructor
**********************************************************************/
DLL_CLASS MLT : public STATIC_TEXT_CONTROL
{
public:
MLT( OWNER_WINDOW * powin, CID cid );
MLT( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName = CW_CLASS_EDIT );
};
/*********************************************************************
NAME: EDIT_CONTROL
SYNOPSIS: Edit control class
INTERFACE:
EDIT_CONTROL() - constructor
SetMaxLength() - set the max input string length (in TCHAR)
SelectString() - select the entire edit string
PARENT: TEXT_CONTROL
USES: NLS_STR
HISTORY:
rustanl 20-Nov-90 Creation
beng 17-May-1991 Added app-window constructor
beng 31-Jul-1991 Renamed QMessageInto to QEventEffects
beng 04-Oct-1991 Win32 conversion
**********************************************************************/
DLL_CLASS EDIT_CONTROL : public TEXT_CONTROL
{
private:
/* _nlsSaveValue saves the value contained in the edit control when
* SaveValue is called. It is emptied when RestoreValue is called.
*/
NLS_STR _nlsSaveValue;
protected:
virtual UINT QueryEventEffects( const CONTROL_EVENT & e );
/* Redefine CONTROL_VALUE defaults.
*/
virtual VOID SaveValue( BOOL fInvisible = TRUE ) ;
virtual VOID RestoreValue( BOOL fInvisible = TRUE ) ;
virtual VOID SetControlValueFocus();
public:
EDIT_CONTROL( OWNER_WINDOW * powin, CID cid, UINT cchMaxLen = 0 );
EDIT_CONTROL( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName = CW_CLASS_EDIT,
UINT cchMaxLen = 0 );
VOID SetMaxLength( UINT cchMax );
VOID SelectString();
APIERR SetSaveValue ( const TCHAR *pszSaveValue )
{ return _nlsSaveValue.CopyFrom( pszSaveValue ); }
};
/*********************************************************************
NAME: SLE
SYNOPSIS: single line edit class
INTERFACE: SLE() - constructor.
PARENT: EDIT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
beng 17-May-1991 Added app-window constructor
beng 04-Oct-1991 Win32 conversion
beng 01-Nov-1991 Added error-indication routine
thomaspa 21-Jan-1992 Added validation
thomaspa 13-Feb-1992 Moved validation from SLE to ICANON_SLE
**********************************************************************/
DLL_CLASS SLE : public EDIT_CONTROL
{
public:
SLE( OWNER_WINDOW * powin,
CID cid, UINT cchMaxLen = 0 );
SLE( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName = CW_CLASS_EDIT,
UINT cchMaxLen = 0 );
virtual VOID IndicateError( APIERR err );
};
/*********************************************************************
NAME: MLE
SYNOPSIS: Multi-line edit control
INTERFACE: MLE() - constructor.
PARENT: EDIT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
beng 17-May-1991 Added app-window constructor
beng 04-Oct-1991 Win32 conversion
**********************************************************************/
DLL_CLASS MLE : public EDIT_CONTROL
{
public:
MLE( OWNER_WINDOW * powin, CID cid, UINT cchMaxLen = 0 );
MLE( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName = CW_CLASS_EDIT,
UINT cchMaxLen = 0 );
VOID SetFmtLines( BOOL fFmtLines = TRUE )
{ Command( EM_FMTLINES, fFmtLines ); }
};
/*********************************************************************
NAME: PASSWORD_CONTROL
SYNOPSIS: password control class
INTERFACE:
PASSWORD_CONTROL() - constructor
PARENT: EDIT_CONTROL
HISTORY:
rustanl 20-Nov-90 Creation
beng 17-May-1991 Added app-window constructor
beng 04-Oct-1991 Win32 conversion
**********************************************************************/
DLL_CLASS PASSWORD_CONTROL : public EDIT_CONTROL
{
public:
PASSWORD_CONTROL( OWNER_WINDOW * powin, CID cid, UINT cchMaxLen = 0 );
PASSWORD_CONTROL( OWNER_WINDOW * powin, CID cid,
XYPOINT xy, XYDIMENSION dxy,
ULONG flStyle, const TCHAR * pszClassName = CW_CLASS_EDIT,
UINT cchMaxLen = 0 );
};
/**********************************************************************
NAME: BLT_BACKGROUND_EDIT
SYNOPSIS: Disabled edit control with COLOR_WINDOW background and a frame
INTERFACE: BLT_BACKGROUND_EDIT() - constructor
~BLT_BACKGROUND_EDIT() - destructor
PARENT: EDIT_CONTROL
HISTORY:
jonn 05-Sep-95 Created
**********************************************************************/
DLL_CLASS BLT_BACKGROUND_EDIT: public EDIT_CONTROL
{
public:
BLT_BACKGROUND_EDIT( OWNER_WINDOW *powin, CID cid );
~BLT_BACKGROUND_EDIT();
HBRUSH OnCtlColor( HDC hdc, HWND hwnd, UINT * pmsgid );
};
#endif // _BLTEDIT_HXX_ - end of file