home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: SysTools / SysTools.zip / taman002.zip / TASKMANA.ZIP / src / kMenuBase.h < prev    next >
C/C++ Source or Header  |  2000-04-29  |  1KB  |  47 lines

  1. /* $Id: kMenuBase.h,v 1.1 2000/04/29 19:06:34 stknut Exp $
  2.  *
  3.  * kMenu (kClassLib) - Menu encapsulation.
  4.  *
  5.  * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
  6.  *
  7.  */
  8.  
  9. #ifndef _kMenuBase_h_
  10. #define _kMenuBase_h_
  11.  
  12.  
  13.  
  14. /**
  15.  * Base class for menus.
  16.  * @author      knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
  17.  */
  18. class kMenuBase
  19. {
  20. protected:
  21.     HWND    hwndMenu;
  22.     HWND    hwndOwner;
  23.  
  24. public:
  25.     kMenuBase(ULONG ulResId, HMODULE hmodRes, HWND hwnd, BOOL fPopup = TRUE);
  26.     ~kMenuBase();
  27.  
  28.     /** @cat operations on menus */
  29.     BOOL checkMenuItem(USHORT id, BOOL fcheck);
  30.     BOOL isMenuItemChecked(USHORT id);
  31.     BOOL enableMenuItem(USHORT id, BOOL fEnable);
  32.     BOOL isMenuItemEnabled(USHORT id);
  33.     BOOL setMenuItemText(USHORT id, PSZ psz);
  34.     BOOL isMenuItemValid(USHORT id);
  35.  
  36.     /** @cat usage */
  37.     BOOL popup(LONG  idItem = 0,
  38.                ULONG fs = (PU_HCONSTRAIN | PU_VCONSTRAIN |
  39.                            PU_KEYBOARD | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2),
  40.                HWND hwndParent = NULLHANDLE,
  41.                HWND hwndOwner = NULLHANDLE);
  42. };
  43.  
  44.  
  45. #endif
  46.  
  47.