#include "stdafx.h"
#include "MdispMFC.h"
#include <algorithm>
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
CMainFrame::CMainFrame()
{
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
DWORD dwToolbarStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP | CCS_ADJUSTABLE |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC;
if(!m_wndToolBar.Create(this, dwToolbarStyle) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
if(!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1;
}
m_wndToolBar.SetWindowText(MIL_TEXT("Standard"));
CRect rectComboViewMode;
m_wndToolBar.SetButtonInfo(13, IDC_CB_VIEW_MODE, TBBS_SEPARATOR, 140);
m_wndToolBar.GetItemRect(13,&rectComboViewMode);
rectComboViewMode.OffsetRect(5,7);
rectComboViewMode.bottom = rectComboViewMode.top + 900;
m_viewModeCombo.Create(WS_TABSTOP|CBS_AUTOHSCROLL|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST,
rectComboViewMode,&m_wndToolBar,IDC_CB_VIEW_MODE);
m_viewModeCombo.AddString(MIL_TEXT("M_DEFAULT"));
m_viewModeCombo.AddString(MIL_TEXT("M_TRANSPARENT"));
m_viewModeCombo.AddString(MIL_TEXT("M_AUTO_SCALE"));
m_viewModeCombo.AddString(MIL_TEXT("M_MULTI_BYTES"));
m_viewModeCombo.AddString(MIL_TEXT("M_BIT_SHIFT:2"));
m_viewModeCombo.AddString(MIL_TEXT("M_BIT_SHIFT:4"));
m_viewModeCombo.AddString(MIL_TEXT("M_BIT_SHIFT:8"));
CFont fontComboBox;
fontComboBox.Attach(GetStockObject(DEFAULT_GUI_FONT));
m_viewModeCombo.SetFont(&fontComboBox);
m_viewModeCombo.SelectString(0,MIL_TEXT("M_TRANSPARENT"));
m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar,AFX_IDW_DOCKBAR_TOP);
RECT rectWindow;
GetWindowRect(&rectWindow);
int SizeX = max(1024, rectWindow.right - rectWindow.left);
int SizeY = max(768, rectWindow.bottom - rectWindow.top);
SetWindowPos(0,0,SizeX,SizeY,rectWindow.bottom - rectWindow.top,SWP_NOMOVE|SWP_NOZORDER);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
return CMDIFrameWnd::PreCreateWindow(cs);
}
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CMDIFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CMDIFrameWnd::Dump(dc);
}
#endif