home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tv20cpp.zip / src / TMenuPopup.cpp < prev    next >
C/C++ Source or Header  |  1998-01-19  |  1KB  |  47 lines

  1. /*
  2.  * TMenuPopup.cc
  3.  *
  4.  * Turbo Vision - Version 2.0
  5.  *
  6.  * Copyright (c) 1994 by Borland International
  7.  * All Rights Reserved.
  8.  *
  9.  * Modified by Sergio Sigala <ssigala@globalnet.it>
  10.  */
  11.  
  12. #define Uses_TEvent
  13. #define Uses_TRect
  14. #define Uses_TMenu
  15. #define Uses_TMenuItem
  16. #define Uses_TMenuPopup
  17. #include <tvision/tv.h>
  18.  
  19. TMenuPopup::TMenuPopup(TRect& bounds, TMenu* aMenu) :
  20.     TMenuBox( bounds, aMenu, 0 )
  21. {
  22. }
  23.  
  24. void TMenuPopup::handleEvent(TEvent& event)
  25. {
  26.     switch (event.what)
  27.     {
  28.     case evKeyDown:
  29.         TMenuItem* p = findItem(getCtrlChar(event.keyDown.keyCode));
  30.         if (!p)
  31.             p = hotKey(event.keyDown.keyCode);
  32.         if (p && commandEnabled(p->command))
  33.         {
  34.             event.what = evCommand;
  35.             event.message.command = p->command;
  36.             event.message.infoPtr = NULL;
  37.             putEvent(event);
  38.             clearEvent(event);
  39.         }
  40.         else
  41.             if (getAltChar(event.keyDown.keyCode))
  42.                 clearEvent(event);
  43.         break;
  44.     }
  45.     TMenuBox::handleEvent(event);
  46. }
  47.