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

117 lines
3.2 KiB
C++

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corp., 1991 **/
/**********************************************************************/
/*
bltmitem.hxx
BLT menu manipulation classes
FILE HISTORY:
rustanl 11-Jul-1991 Created
rustanl 12-Jul-1991 Added to BLT
rustanl 15-Jul-1991 Code review changes (change
CLIENT_WINDOW * to APP_WINDOW *)
CR attended by BenG, ChuckC,
Hui-LiCh, TerryK, RustanL.
beng 31-Oct-1991 Added SYSMENUITEM class
terryk 26-Nov-1991 Added SetText for MENUITEM
*/
#ifndef _BLT_HXX_
#error "Don't include this file directly; instead, include it through blt.hxx"
#endif // _BLT_HXX_
#ifndef _BLTMITEM_HXX_
#define _BLTMITEM_HXX_
#include "base.hxx"
#include "string.hxx"
/*************************************************************************
NAME: MENUITEM
SYNOPSIS: Menu item class
INTERFACE: MENUITEM() - Constructor
Enable() - Enables or disables a menu item
IsEnabled() - Returns whether or not the menu item
is enabled
SetCheck() - Sets or removes a check mark next to
a menu item
IsChecked() - Returns whether or not the menu item
is checked
SetText() - Set the menu item text string
PARENT: BASE
HISTORY:
rustanl 11-Jul-1991 Created
rustanl 11-Sep-1991 Added IsEnabled and IsChecked
beng 31-Oct-1991 Added protected ctor
terryk 27-Nov-1991 Added SetText
jonn 19-Mar-1993 Added ItemExists
**************************************************************************/
DLL_CLASS MENUITEM : public BASE
{
private:
HMENU _hmenu;
MID _mid;
protected:
MENUITEM( HMENU hmenu, MID mid );
public:
MENUITEM( APP_WINDOW * pwnd, MID mid );
VOID Enable( BOOL f );
BOOL IsEnabled() const;
VOID SetCheck( BOOL f );
BOOL IsChecked() const;
BOOL SetText( const TCHAR *pszString );
BOOL SetText( const NLS_STR &nls )
{ return SetText( nls.QueryPch() ); }
#ifdef WIN32
static BOOL ItemExists( HMENU hmenu, MID mid );
static BOOL ItemExists( APP_WINDOW * pawin, MID mid );
#endif
};
/*************************************************************************
NAME: SYSMENUITEM
SYNOPSIS: Menuitem class for items in system menu
INTERFACE: As for MENUITEM
PARENT: MENUITEM
NOTES:
A SYSMENUITEM can be built from either a dialog or app window.
This lets a dialog disable its Close (SC_CLOSE) item.
HISTORY:
beng 31-Oct-1991 Created
**************************************************************************/
DLL_CLASS SYSMENUITEM: public MENUITEM
{
public:
SYSMENUITEM( OWNER_WINDOW * pwnd, MID mid );
};
#endif // _BLTMITEM_HXX_