home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / jfklib.arj / MDIMETH.CPP < prev    next >
Text File  |  1991-05-11  |  2KB  |  110 lines

  1. /*
  2.     MDIMETH.CPP -(C) 1990 by Joachim Kainz 'On a mission from Bhudda'
  3. */
  4.     #include "mdi.hpp"
  5.  
  6.     METHOD MDI::WMCommand (WORD wID, WORD wMsg, HWND hCtl)
  7.     {
  8.         switch (wID) {
  9.  
  10.           case ID_MDI_CASCADE:
  11.             return SendMessage (GetMDIClient (), WM_MDICASCADE,     0, 0l);
  12.  
  13.           case ID_MDI_TILE:
  14.             return SendMessage (GetMDIClient (), WM_MDITILE,        0, 0l);
  15.  
  16.           case ID_MDI_ARRANGE:
  17.             return SendMessage (GetMDIClient (), WM_MDIICONARRANGE, 0, 0l);
  18.  
  19.         }
  20.  
  21.         TOPLEVEL::WMCommand (wID, wMsg, hCtl);
  22.  
  23.         return DefFrameProc (
  24.                 GetWindowHandle (),
  25.                 GetMDIClient (),
  26.                 WM_COMMAND,
  27.                 wID,
  28.                 MAKELONG (hCtl, wMsg)
  29.            );
  30.     }
  31.  
  32.     METHOD MDI::WMMenuSelect (WORD wMenu, WORD wFlag)
  33.     {
  34.         return DefFrameProc (
  35.                     GetWindowHandle (),
  36.                     GetMDIClient (),
  37.                     WM_MENUSELECT,
  38.                     wMenu,
  39.                     MAKELONG (wFlag, NULL)
  40.                );
  41.     }
  42.  
  43.     METHOD MDI::WMMenuChar (WORD wKey, HMENU hMenu, WORD wMenu)
  44.     {
  45.         return DefFrameProc (
  46.                 GetWindowHandle (),
  47.                 GetMDIClient (),
  48.                 WM_MENUCHAR,
  49.                 wKey,
  50.                 MAKELONG (wMenu, hMenu)
  51.            );
  52.     }
  53.  
  54.     METHOD MDI::WMSetFocus (HWND hLast)
  55.     {
  56.         return DefFrameProc (
  57.                 GetWindowHandle (),
  58.                 GetMDIClient (),
  59.                 WM_SETFOCUS,
  60.                 hLast,
  61.                 0l
  62.                );
  63.     }
  64.  
  65.     METHOD MDI::WMSize      (
  66.                     WORD wSizing,
  67.                     int  nWidth,
  68.                     int  nHeigth
  69.                  )
  70.     {
  71.         return DefFrameProc (
  72.                 GetWindowHandle (),
  73.                 GetMDIClient (),
  74.                 WM_SIZE,
  75.                 wSizing,
  76.                 MAKELONG (nWidth, nHeigth)
  77.            );
  78.     }
  79.  
  80.     METHOD MDI::WMSysCommand (WORD wID, POINT pt)
  81.     {
  82.         return DefFrameProc (
  83.                 GetWindowHandle (),
  84.                 GetMDIClient (),
  85.                 WM_SYSCOMMAND,
  86.                 wID,
  87.                 *(long*)&pt
  88.                );
  89.     }
  90.  
  91.     METHOD MDI::WMClose    ()
  92.     {
  93.         if (SendAllChildren (WM_QUERYENDSESSION, 0, 0l, TRUE))
  94.             SendMessage (self, WM_DESTROY);
  95.  
  96.         return 0l;
  97.     }
  98.  
  99.     METHOD MDI::WMQueryEndSession ()
  100.     {
  101.         return SendAllChildren (WM_QUERYENDSESSION, 0, 0l, TRUE);
  102.     }
  103.  
  104.     METHOD MDI::WMDestroy ()
  105.     {
  106.         SendAllChildren (WM_CLOSE);
  107.  
  108.         return TOPLEVEL::WMDestroy ();
  109.     }
  110.