Category : C Source Code
Archive   : JFKLIB.ZIP
Filename : MDIMETH.CPP

 
Output of file : MDIMETH.CPP contained in archive : JFKLIB.ZIP

/*
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 ();
}