home *** CD-ROM | disk | FTP | other *** search
- /*
- MDIMETH.CPP -(C) 1990 by Joachim Kainz 'On a mission from Bhudda'
- */
- #include "mdi.hpp"
-
- METHOD MDI::WMCommand (WORD wID, WORD wMsg, HWND hCtl)
- {
- switch (wID) {
-
- case ID_MDI_CASCADE:
- return SendMessage (GetMDIClient (), WM_MDICASCADE, 0, 0l);
-
- case ID_MDI_TILE:
- return SendMessage (GetMDIClient (), WM_MDITILE, 0, 0l);
-
- case ID_MDI_ARRANGE:
- return SendMessage (GetMDIClient (), WM_MDIICONARRANGE, 0, 0l);
-
- }
-
- TOPLEVEL::WMCommand (wID, wMsg, hCtl);
-
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_COMMAND,
- wID,
- MAKELONG (hCtl, wMsg)
- );
- }
-
- METHOD MDI::WMMenuSelect (WORD wMenu, WORD wFlag)
- {
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_MENUSELECT,
- wMenu,
- MAKELONG (wFlag, NULL)
- );
- }
-
- METHOD MDI::WMMenuChar (WORD wKey, HMENU hMenu, WORD wMenu)
- {
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_MENUCHAR,
- wKey,
- MAKELONG (wMenu, hMenu)
- );
- }
-
- METHOD MDI::WMSetFocus (HWND hLast)
- {
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_SETFOCUS,
- hLast,
- 0l
- );
- }
-
- METHOD MDI::WMSize (
- WORD wSizing,
- int nWidth,
- int nHeigth
- )
- {
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_SIZE,
- wSizing,
- MAKELONG (nWidth, nHeigth)
- );
- }
-
- METHOD MDI::WMSysCommand (WORD wID, POINT pt)
- {
- return DefFrameProc (
- GetWindowHandle (),
- GetMDIClient (),
- WM_SYSCOMMAND,
- wID,
- *(long*)&pt
- );
- }
-
- METHOD MDI::WMClose ()
- {
- if (SendAllChildren (WM_QUERYENDSESSION, 0, 0l, TRUE))
- SendMessage (self, WM_DESTROY);
-
- return 0l;
- }
-
- METHOD MDI::WMQueryEndSession ()
- {
- return SendAllChildren (WM_QUERYENDSESSION, 0, 0l, TRUE);
- }
-
- METHOD MDI::WMDestroy ()
- {
- SendAllChildren (WM_CLOSE);
-
- return TOPLEVEL::WMDestroy ();
- }
-