home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 October
/
Chip_1997-10_cd.bin
/
tema
/
sybase
/
powerj
/
hpp.z
/
WPOPMENU.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1996-10-18
|
4KB
|
152 lines
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (C) 1994, by WATCOM International Inc. All rights %
% reserved. No part of this software may be reproduced or %
% used in any form or by any means - graphic, electronic or %
% mechanical, including photocopying, recording, taping or %
% information storage and retrieval systems - except with the %
% written permission of WATCOM International Inc. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
/*************************************************************************
*
* WPopupMenu -- Wrapper for the Windows 95 Popup menu control.
*
*
* Events:
*
* Close --
*
* Select --
*
* InitPopupMenu --
*
*************************************************************************/
#ifndef _WPOPMENU_HPP_INCLUDED
#define _WPOPMENU_HPP_INCLUDED
#ifndef _WNO_PRAGMA_PUSH
#pragma pack(push,8);
#pragma enum int;
#endif
#ifndef _WMENU_HPP_INCLUDED
# include "wmenu.hpp"
#endif
#ifndef _WSTRING_HPP_INCLUDED
# include "wstring.hpp"
#endif
#ifndef _WVECTOR_HPP_INCLUDED
# include "wvector.hpp"
#endif
extern template WVector<WMenu>;
class WWindow;
class WPopupMenu;
class WCMCLASS WPopupMenu : public WMenu {
WDeclareSubclass( WPopupMenu, WMenu );
public:
/**********************************************************
* Constructors and Destructors
*********************************************************/
WPopupMenu( const WResourceID & id,
WModuleHandle module=_ApplicationModule,
WBool loadAccelerators=TRUE,
WBool appendAcceleratorName=TRUE );
WPopupMenu( const WChar * text, WBool create=TRUE,
WMenuHandle handle=NULLHMNU );
~WPopupMenu();
/**********************************************************
* Properties
*********************************************************/
/**********************************************************
* Methods
*********************************************************/
// OnSelected
virtual WBool OnSelected( WBool selected=TRUE );
// Track
virtual WBool Track( WWindow *owner,
WPoint *initialPosition = NULL,
WShort *selectedID=NULL,
WBool process=TRUE );
/**********************************************************
* Others
*********************************************************/
// OnRemovedFromParent
WBool OnRemovedFromParent( WMenu * parent );
/**********************************************************
* Overrides
*********************************************************/
virtual WBool SetText( const WString & text );
virtual WBool Destroy();
virtual WBool SetParent( WObject * parent );
/**********************************************************
* Data Members
*********************************************************/
private:
WMenuHandle _loadedMenu; // menu handle of loaded menu
WVector< WMenu > * _parents;
};
class WCMCLASS WSystemMenu : public WPopupMenu {
WDeclareSubclass( WSystemMenu, WPopupMenu );
public:
/**********************************************************
* Constructors and Destructors
*********************************************************/
WSystemMenu( WWindow *window, WMenuHandle handle );
~WSystemMenu();
/**********************************************************
* Methods
*********************************************************/
// Track
virtual WBool Track( WWindow *temporaryOwner,
WPoint *initialPosition = NULL,
WShort *selectedID=NULL,
WBool process=TRUE );
private:
WWindow *_realOwner;
};
#ifndef _WNO_PRAGMA_PUSH
#pragma enum pop;
#pragma pack(pop);
#endif
#endif // _WPOPMENU_HPP_INCLUDED