windows-nt/Source/XPSP1/NT/base/win32/fusion/appweek/host2/hostframe.cpp
2020-09-26 16:20:57 +08:00

71 lines
1.8 KiB
C++

#include "stdinc.h"
#include "FusionTrace.h"
#include "hostframe.h"
void CSxApwHostFrame::AddMenu()
{
HMENU hMenu = CreateMenu();
HMENU hPopupMenu = CreateMenu();
AppendMenu( hPopupMenu, MF_STRING, IDM_APP_EXIT, L"E&xit" );
AppendMenu( hMenu, MF_POPUP, (UINT_PTR)hPopupMenu, L"&File");
hPopupMenu = CreateMenu();
AppendMenu( hPopupMenu, MF_STRING, IDM_CASCADE, L"&Cascade" );
AppendMenu( hPopupMenu, MF_STRING, IDM_HORTILE, L"Tile &Horizontal" );
AppendMenu( hPopupMenu, MF_STRING, IDM_VERTILE, L"Tile &Vertical" );
AppendMenu( hMenu, MF_POPUP, (UINT_PTR)hPopupMenu, L"&Windows");
BOOL bResult = SetMenu(hMenu);
DrawMenuBar();
}
LRESULT CSxApwHostFrame::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
RECT rc;
GetClientRect ( &rc );
// ::SetWindowPos(m_hClient, rc.left, rc.top, (
// ::RedrawWindow(m_hClient, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ALLCHILDREN);
CWindow fooWin;
fooWin.Attach( m_hClient );
fooWin.ResizeClient( (rc.right - rc.left), (rc.bottom - rc.top), TRUE);
fooWin.Detach();
return 0;
}
LRESULT CSxApwHostFrame::OnTileCascade( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
{
::SendMessageW( m_hClient, WM_MDICASCADE, MDITILE_ZORDER, 0 );
return 0;
}
LRESULT CSxApwHostFrame::OnTileHorizontal( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
{
::SendMessageW( m_hClient, WM_MDITILE, MDITILE_HORIZONTAL, 0 );
return 0;
}
LRESULT CSxApwHostFrame::OnTileVertical( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
{
::SendMessageW( m_hClient, WM_MDITILE, MDITILE_VERTICAL, 0 );
return 0;
}
LRESULT CSxApwHostFrame::OnAppExit( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
{
PostMessageW ( WM_QUIT, 0, 0 );
return 0;
}