You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TwoLaserHead-PushJig/LaiPuLaser/MainFrm.cpp

780 lines
24 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// MainFrm.cpp : CMainFrame ÀàµÄʵÏÖ
#include "stdafx.h"
#include "LaiPuLaser.h"
#include "MainFrm.h"
#include "GlobalDrawMgr.h"
#include "LogMgr.h"
#include "PltReader.h"
#include "GlobalFunction.h"
#include "MarkObjPropertieMgr.h"
#include "DlgPlatformCtrl.h"
#include "DlgTest.h"
#include "ModuleDeviceMgr.h"
#include "ModuleDrawMgr.h"
#include "DlgAuthorityMgr.h"
#include "AuthorityMgr.h"
#include "DlgObjComponent.h"
#include "DlgMarkArea.h"
#include "MsgBox.h"
#include "TemplateMgr.h"
#include "WorkFileMgr.h"
#include "PropertieMgr.h"
#include "DlgUserMgr.h"
#include "ProgramCutMgr.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMainFrame
IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWndEx)
const int iMaxUserToolbars = 10;
const UINT uiFirstUserToolBarId = AFX_IDW_CONTROLBAR_FIRST + 40;
const UINT uiLastUserToolBarId = uiFirstUserToolBarId + iMaxUserToolbars - 1;
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWndEx)
ON_WM_CREATE()
// È«¾Ö°ïÖúÃüÁî
ON_COMMAND(ID_HELP_FINDER, &CMDIFrameWndEx::OnHelpFinder)
ON_COMMAND(ID_HELP, &CMDIFrameWndEx::OnHelp)
ON_COMMAND(ID_DEFAULT_HELP, &CMDIFrameWndEx::OnHelpFinder)
ON_COMMAND(ID_WINDOW_MANAGER, &CMainFrame::OnWindowManager)
ON_COMMAND(ID_VIEW_CUSTOMIZE, &CMainFrame::OnViewCustomize)
ON_REGISTERED_MESSAGE(AFX_WM_CREATETOOLBAR, &CMainFrame::OnToolbarCreateNew)
ON_COMMAND_RANGE(ID_VIEW_APPLOOK_WIN_2000, ID_VIEW_APPLOOK_WINDOWS_7, &CMainFrame::OnApplicationLook)
ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_APPLOOK_WIN_2000, ID_VIEW_APPLOOK_WINDOWS_7, &CMainFrame::OnUpdateApplicationLook)
ON_COMMAND(ID_VIEW_CAPTION_BAR, &CMainFrame::OnViewCaptionBar)
ON_UPDATE_COMMAND_UI(ID_VIEW_CAPTION_BAR, &CMainFrame::OnUpdateViewCaptionBar)
ON_COMMAND(ID_TOOLS_OPTIONS, &CMainFrame::OnOptions)
ON_WM_SETTINGCHANGE()
ON_COMMAND(ID_EXPORT_DEVICE_PAR, &CMainFrame::OnExportDevicePar)
ON_COMMAND(ID_USER_MGR, &CMainFrame::OnUserMgr)
ON_COMMAND(ID_OPEN_FILE, &CMainFrame::OnOpenFile)
ON_COMMAND(ID_SAVE_FILE_AS, &CMainFrame::OnSaveFileAs)
ON_COMMAND(ID_SAVE_FILE_AS2, &CMainFrame::OnSaveFileAs2)
ON_COMMAND(ID_SAVE_FILE, &CMainFrame::OnSaveFile)
ON_COMMAND(ID_DEVICE_PAR, &CMainFrame::OnDevicePar)
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // ״̬ÐÐָʾÆ÷
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
// CMainFrame ¹¹Ôì/Îö¹¹
CMainFrame::CMainFrame()
{
theApp.m_nAppLook = theApp.GetInt(_T("ApplicationLook"), ID_VIEW_APPLOOK_VS_2008);
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
BOOL bNameValid;
// »ùÓÚ³Ö¾ÃÖµÉèÖÃÊÓ¾õ¹ÜÀíÆ÷ºÍÑùʽ
OnApplicationLook(theApp.m_nAppLook);
CMDITabInfo mdiTabParams;
#if 0//²»ÒªÑ¡ÏʽÎĵµ
mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; // ÆäËû¿ÉÓÃÑùʽ...
mdiTabParams.m_bActiveTabCloseButton = TRUE; // ÉèÖÃΪ FALSE »á½«¹Ø±Õ°´Å¥·ÅÖÃÔÚÑ¡ÏÇøÓòµÄÓÒ²à
mdiTabParams.m_bTabIcons = FALSE; // ÉèÖÃΪ TRUE ½«ÔÚ MDI Ñ¡ÏÉÏÆôÓÃÎĵµÍ¼±ê
mdiTabParams.m_bAutoColor = TRUE; // ÉèÖÃΪ FALSE ½«½ûÓà MDI Ñ¡ÏµÄ×Ô¶¯×ÅÉ«
mdiTabParams.m_bDocumentMenu = TRUE; // ÔÚÑ¡ÏÇøÓòµÄÓÒ±ßÔµÆôÓÃÎĵµ²Ëµ¥
EnableMDITabbedGroups(TRUE, mdiTabParams);
#endif
if (!m_wndMenuBar.Create(this))
{
TRACE0("δÄÜ´´½¨²Ëµ¥À¸\n");
return -1; // δÄÜ´´½¨
}
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);
// ·ÀÖ¹²Ëµ¥À¸ÔÚ¼¤»îʱ»ñµÃ½¹µã
CMFCPopupMenu::SetForceMenuFocus(FALSE);
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("δÄÜ´´½¨¹¤¾ßÀ¸\n");
return -1; // δÄÜ´´½¨
}
CString strToolBarName;
bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);
CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
// ÔÊÐíÓû§¶¨ÒåµÄ¹¤¾ßÀ¸²Ù×÷:
InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);
if (!m_wndStatusBar.Create(this))
{
TRACE0("δÄÜ´´½¨×´Ì¬À¸\n");
return -1; // δÄÜ´´½¨
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
// TODO: Èç¹ûÄú²»Ï£Íû¹¤¾ßÀ¸ºÍ²Ëµ¥À¸¿ÉÍ£¿¿£¬Çëɾ³ýÕâÎåÐÐ
#if 1
// ÆôÓà Visual Studio 2005 Ñùʽͣ¿¿´°¿ÚÐÐΪ
CDockingManager::SetDockingMode(DT_SMART);
// ÆôÓà Visual Studio 2005 Ñùʽͣ¿¿´°¿Ú×Ô¶¯Òþ²ØÐÐΪ
EnableAutoHidePanes(CBRS_ALIGN_ANY);
// µ¼º½´°¸ñ½«´´½¨ÔÚ×ó²à£¬Òò´Ë½«ÔÝʱ½ûÓÃ×ó²àµÄÍ£¿¿:
EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM | CBRS_ALIGN_RIGHT);
#endif
// ´´½¨±êÌâÀ¸:
if (!CreateCaptionBar())
{
TRACE0("δÄÜ´´½¨±êÌâÀ¸\n");
return -1; // δÄÜ´´½¨
}
// ÒÑ´´½¨ Outlook À¸£¬Ó¦ÔÊÐíÔÚ×ó²àÍ£¿¿¡£
EnableDocking(CBRS_ALIGN_LEFT);
EnableAutoHidePanes(CBRS_ALIGN_RIGHT);
// ´´½¨Í£¿¿´°¿Ú
if (!CreateDockingWindows())
{
TRACE0("δÄÜ´´½¨Í£¿¿´°¿Ú\n");
return -1;
}
EnableDocking(CBRS_ALIGN_ANY);
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndToolBar);
#ifdef __DLG_PANE_CMD__
m_OutputCmd.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_OutputCmd);
#endif
m_OutputLog.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_OutputLog);
m_PaneDevicePar.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneDevicePar);
m_PaneDrawPar.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneDrawPar);
#ifdef __DLG_PANE_STD_MARK_CTRL__
m_StdMarkCtrlPane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_StdMarkCtrlPane);
#endif
#ifdef __DLG_PANE_SIMULATE_TRACE__
m_SimulatetracePane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_SimulatetracePane);
#endif
#ifdef __DLG_PANE_WORK_TIME__
m_WorkTimePane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_WorkTimePane);
#endif
#ifdef __DLG_PANE_MARK_PAR__
m_MarkParPane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_MarkParPane);
#endif
#ifdef __DLG_PANE_VAR_STRING__
m_PaneValString.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneValString);
#endif
#ifdef __DLG_PANE_PLATFORM__
m_PanePlatformCtrl.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PanePlatformCtrl);
#endif
#ifdef __DLG_PANE_TEST__
m_PaneTest.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneTest);
#endif
#ifdef __DLG_PANE_OBJ_LIST__
m_ObjListPane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_ObjListPane);
#endif
#ifdef __LPS_IS3000__
m_PaneHawkvisCamera.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneHawkvisCamera);
m_PaneCutDeviceCtrl.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneCutDeviceCtrl);
m_PaneSW_XL_Flow.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_PaneSW_XL_Flow);
#endif
// ÆôÓÃÔöÇ¿µÄ´°¿Ú¹ÜÀí¶Ô»°¿ò
EnableWindowsDialog(ID_WINDOW_MANAGER, ID_WINDOW_MANAGER, TRUE);
// ÆôÓù¤¾ßÀ¸ºÍÍ£¿¿´°¿Ú²Ëµ¥Ìæ»»
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);
// ÆôÓÿìËÙ(°´×¡ Alt Í϶¯)¹¤¾ßÀ¸×Ô¶¨Òå
CMFCToolBar::EnableQuickCustomization();
if (CMFCToolBar::GetUserImages() == NULL)
{
// ¼ÓÔØÓû§¶¨ÒåµÄ¹¤¾ßÀ¸Í¼Ïñ
if (m_UserImages.Load(_T(".\\UserImages.bmp")))
{
CMFCToolBar::SetUserImages(&m_UserImages);
}
}
// ÆôÓò˵¥¸öÐÔ»¯(×î½üʹÓõÄÃüÁî)
// TODO: ¶¨ÒåÄú×Ô¼ºµÄ»ù±¾ÃüÁȷ±£Ã¿¸öÏÂÀ­²Ëµ¥ÖÁÉÙÓÐÒ»¸ö»ù±¾ÃüÁî¡£
CList<UINT, UINT> lstBasicCommands;
lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
lstBasicCommands.AddTail(ID_FILE_SAVE);
lstBasicCommands.AddTail(ID_FILE_PRINT);
lstBasicCommands.AddTail(ID_APP_EXIT);
lstBasicCommands.AddTail(ID_EDIT_CUT);
lstBasicCommands.AddTail(ID_EDIT_PASTE);
lstBasicCommands.AddTail(ID_EDIT_UNDO);
lstBasicCommands.AddTail(ID_APP_ABOUT);
lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR);
lstBasicCommands.AddTail(ID_VIEW_TOOLBAR);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2003);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_VS_2005);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLUE);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_WINDOWS_7);
lstBasicCommands.AddTail(ID_EXPORT_DEVICE_PAR);
CMFCToolBar::SetBasicCommands(lstBasicCommands);
// ½«ÎĵµÃûºÍÓ¦ÓóÌÐòÃû³ÆÔÚ´°¿Ú±êÌâÀ¸ÉϵÄ˳Ðò½øÐн»»»¡£Õâ
// ½«¸Ä½øÈÎÎñÀ¸µÄ¿ÉÓÃÐÔ£¬ÒòΪÏÔʾµÄÎĵµÃû´øÓÐËõÂÔͼ¡£
//ModifyStyle(0, FWS_PREFIXTITLE);
#if 0//½ûÓóÌÐòĬÈϵĹرհ´Å¥
CMenu* pMenu=GetSystemMenu(false);
UINT nID=pMenu->GetMenuItemID(pMenu->GetMenuItemCount()-1);
pMenu->EnableMenuItem(nID,MF_DISABLED);
#endif
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWndEx::PreCreateWindow(cs) )
return FALSE;
// TODO: ÔÚ´Ë´¦Í¨¹ýÐÞ¸Ä
// CREATESTRUCT cs À´Ð޸Ĵ°¿ÚÀà»òÑùʽ
return TRUE;
}
#if 1//¿ÉÍ£¿¿¿Ø¼þ
BOOL CMainFrame::CreateDockingWindows()
{
#ifdef __DLG_PANE_CMD__
//ÃüÁî´°¿Ú---------------------------------------------------------------
if (!m_OutputCmd.Create(_T("ÃüÁîcmd"), this, CRect(0, 0, 100, 100), TRUE, ID_OUTPUT_CMD, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_BOTTOM | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Êä³ö´°¿Ú\n");
return FALSE; // δÄÜ´´½¨
}
#endif
//ÈÕÖ¾´°¿Ú---------------------------------------------------------------
if (!m_OutputLog.Create(_T("ÈÕÖ¾"), this, CRect(0, 0, 100, 100), TRUE, ID_OUTPUT_LOG, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_BOTTOM | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨ÈÕÖ¾´°¿Ú\n");
return FALSE; // δÄÜ´´½¨
}
// ´´½¨ÏÔʾÊôÐÔ´°¿Ú-------------------------------------------------------
if (!m_PaneDrawPar.Create(_T("»æÖÆÊôÐÔ"), this, CRect(0, 0, 200, 200), TRUE, ID_PANE_DRAW_PROP, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¡°ÊôÐÔ¡±´°¿Ú\n");
return FALSE; // δÄÜ´´½¨
}
// ´´½¨É豸ÊôÐÔ´°¿Ú-------------------------------------------------------
if (!m_PaneDevicePar.Create(_T("É豸ÊôÐÔ"), this, CRect(0, 0, 200, 200), TRUE, ID_PANE_DEVICE_PROP, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¡°ÊôÐÔ¡±´°¿Ú\n");
return FALSE; // δÄÜ´´½¨
}
#ifdef __DLG_PANE_STD_MARK_CTRL__
//±ê×¼±ê¿Ì¿ØÖÆ-----------------------------------------------------
m_StdMarkCtrlPane.SetDlg(&m_DlgStdMarkCtr);
if (!m_StdMarkCtrlPane.Create(_T("±ê¿Ì¿ØÖÆ"), this, CRect(0, 0, 0, 0), TRUE, m_DlgStdMarkCtr.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨±ê¿Ì¿ØÖÆ/n");
return FALSE;
}
m_StdMarkCtrlPane.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_SIMULATE_TRACE__
//Êý¾Ý¹ì¼£Ä£Äâ-----------------------------------------------------
m_SimulatetracePane.SetDlg(&m_DlgSimulatetrace);
if (!m_SimulatetracePane.Create(_T("¹ì¼£Ä£Äâ"), this, CRect(0, 0, 0, 0), TRUE, m_DlgSimulatetrace.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¹ì¼£Ä£Äâ/n");
return FALSE;
}
m_SimulatetracePane.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_WORK_TIME__
//¹¤×÷ʱ¼ä-----------------------------------------------------
m_WorkTimePane.SetDlg(&m_DlgWorkTime);
if (!m_WorkTimePane.Create(_T("¹¤×÷ʱ¼ä"), this, CRect(0, 0, 0, 0), TRUE, m_DlgWorkTime.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¹¤×÷ʱ¼ä/n");
return FALSE;
}
m_WorkTimePane.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_MARK_PAR__
//±ê¿Ì²ÎÊý-----------------------------------------------------
m_MarkParPane.SetDlg(&m_CDlgMarkPar);
if (!m_MarkParPane.Create(_T("Õñ¾µ²ÎÊý"), this, CRect(0, 0, 0, 0), TRUE, m_CDlgMarkPar.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Õñ¾µ²ÎÊý/n");
return FALSE;
}
m_MarkParPane.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_VAR_STRING__
//¿É±ä×Ö·ûÊôÐÔ-----------------------------------------------------
m_PaneValString.SetDlg(&m_DlgVariableString);
if (!m_PaneValString.Create(_T("×Ö·ûÊôÐÔ"), this, CRect(0, 0, 100, 100), TRUE, m_DlgVariableString.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¿É±ä×Ö·ûÊôÐÔ/n");
return FALSE;
}
m_PaneValString.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_PLATFORM__
//ƽ̨¿ØÖÆ-----------------------------------------------------
m_PanePlatformCtrl.SetDlg(&m_DlgPlatformCtrl);
if (!m_PanePlatformCtrl.Create(_T("ƽ̨¿ØÖÆ"), this, CRect(0, 0, 100, 100), TRUE, m_DlgPlatformCtrl.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Æ½Ì¨²Ù×÷/n");
return FALSE;
}
m_PanePlatformCtrl.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __LPS_IS3000__
m_PaneHawkvisCamera.SetDlg(&m_DlgHawkvisCamera);
if (!m_PaneHawkvisCamera.Create(_T("CCD Ïà»ú"), this, CRect(0, 0, 100, 100), TRUE, m_DlgHawkvisCamera.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Info/n");
return FALSE;
}
m_PaneHawkvisCamera.EnableDocking(CBRS_ALIGN_ANY);
m_PaneCutDeviceCtrl.SetDlg(&m_DlgCutDeviceCtrl);
if (!m_PaneCutDeviceCtrl.Create(_T("É豸¿ØÖÆ"), this, CRect(0, 0, 100, 100), TRUE, m_DlgCutDeviceCtrl.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Ctrl Btn/n");
return FALSE;
}
m_PaneCutDeviceCtrl.EnableDocking(CBRS_ALIGN_ANY);
m_PaneSW_XL_Flow.SetDlg(&m_DlgSW_XL_Flow);
if (!m_PaneSW_XL_Flow.Create(_T("Á÷³Ì¿ØÖÆ"), this, CRect(0, 0, 100, 100), TRUE, m_DlgSW_XL_Flow.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨Ctrl Btn/n");
return FALSE;
}
m_PaneSW_XL_Flow.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_TEST__
//µ÷ÊÔ´°¿Ú-----------------------------------------------------
m_PaneTest.SetDlg(&m_DlgTest);
if (!m_PaneTest.Create(_T("µ÷ÊÔ´°¿Ú"), this, CRect(0, 0, 100, 100), TRUE, m_DlgTest.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨µ÷ÊÔ´°¿Ú/n");
return FALSE;
}
m_PaneTest.EnableDocking(CBRS_ALIGN_ANY);
#endif
#ifdef __DLG_PANE_OBJ_LIST__
//¶ÔÏóÁбí-----------------------------------------------------
m_ObjListPane.SetDlg(&m_DlgObjList);
if (!m_ObjListPane.Create(_T("¶ÔÏóÁбí"), this, CRect(0, 0, 0, 0), TRUE, m_DlgObjList.GetIDD(),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("δÄÜ´´½¨¶ÔÏóÁбí/n");
return FALSE;
}
m_ObjListPane.EnableDocking(CBRS_ALIGN_ANY);
#endif
return TRUE;
}
#endif
BOOL CMainFrame::CreateCaptionBar()
{
#ifdef __CAPTION_BAR__
if (!m_wndCaptionBar.Create(WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, this, ID_VIEW_CAPTION_BAR, -1, TRUE))
{
TRACE0("δÄÜ´´½¨±êÌâÀ¸\n");
return FALSE;
}
ResetCaptionBar();
#endif
return TRUE;
}
// CMainFrame Õï¶Ï
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CMDIFrameWndEx::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CMDIFrameWndEx::Dump(dc);
}
#endif //_DEBUG
// CMainFrame ÏûÏ¢´¦Àí³ÌÐò
void CMainFrame::OnWindowManager()
{
ShowWindowsDialog();
}
void CMainFrame::OnViewCustomize()
{
CMFCToolBarsCustomizeDialog* pDlgCust = new CMFCToolBarsCustomizeDialog(this, TRUE /* ɨÃè²Ëµ¥*/);
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();
}
LRESULT CMainFrame::OnToolbarCreateNew(WPARAM wp,LPARAM lp)
{
LRESULT lres = CMDIFrameWndEx::OnToolbarCreateNew(wp,lp);
if (lres == 0)
{
return 0;
}
CMFCToolBar* pUserToolbar = (CMFCToolBar*)lres;
ASSERT_VALID(pUserToolbar);
BOOL bNameValid;
CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
pUserToolbar->EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
return lres;
}
void CMainFrame::OnApplicationLook(UINT id)
{
CWaitCursor wait;
theApp.m_nAppLook = id;
switch (theApp.m_nAppLook)
{
case ID_VIEW_APPLOOK_WIN_2000:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManager));
break;
case ID_VIEW_APPLOOK_OFF_XP:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOfficeXP));
break;
case ID_VIEW_APPLOOK_WIN_XP:
CMFCVisualManagerWindows::m_b3DTabsXPTheme = TRUE;
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
break;
case ID_VIEW_APPLOOK_OFF_2003:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2003));
CDockingManager::SetDockingMode(DT_SMART);
break;
case ID_VIEW_APPLOOK_VS_2005:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerVS2005));
CDockingManager::SetDockingMode(DT_SMART);
break;
case ID_VIEW_APPLOOK_VS_2008:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerVS2008));
CDockingManager::SetDockingMode(DT_SMART);
break;
case ID_VIEW_APPLOOK_WINDOWS_7:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows7));
CDockingManager::SetDockingMode(DT_SMART);
break;
default:
switch (theApp.m_nAppLook)
{
case ID_VIEW_APPLOOK_OFF_2007_BLUE:
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_LunaBlue);
break;
case ID_VIEW_APPLOOK_OFF_2007_BLACK:
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_ObsidianBlack);
break;
case ID_VIEW_APPLOOK_OFF_2007_SILVER:
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Silver);
break;
case ID_VIEW_APPLOOK_OFF_2007_AQUA:
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Aqua);
break;
}
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
CDockingManager::SetDockingMode(DT_SMART);
}
RedrawWindow(NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);
theApp.WriteInt(_T("ApplicationLook"), theApp.m_nAppLook);
}
void CMainFrame::OnUpdateApplicationLook(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio(theApp.m_nAppLook == pCmdUI->m_nID);
}
void CMainFrame::OnViewCaptionBar()
{
#ifdef __CAPTION_BAR__
m_wndCaptionBar.ShowWindow(m_wndCaptionBar.IsVisible() ? SW_HIDE : SW_SHOW);
RecalcLayout(FALSE);
#endif
}
void CMainFrame::OnUpdateViewCaptionBar(CCmdUI* pCmdUI)
{
#ifdef __CAPTION_BAR__
pCmdUI->SetCheck(m_wndCaptionBar.IsVisible());
#endif
}
void CMainFrame::OnOptions()
{
}
BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext)
{
// »ùÀཫִÐÐÕæÕýµÄ¹¤×÷
if (!CMDIFrameWndEx::LoadFrame(nIDResource, dwDefaultStyle, pParentWnd, pContext))
{
return FALSE;
}
// ΪËùÓÐÓû§¹¤¾ßÀ¸ÆôÓÃ×Ô¶¨Òå°´Å¥
BOOL bNameValid;
CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
for (int i = 0; i < iMaxUserToolbars; i ++)
{
CMFCToolBar* pUserToolbar = GetUserToolBarByIndex(i);
if (pUserToolbar != NULL)
{
pUserToolbar->EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
}
}
return TRUE;
}
void CMainFrame::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
{
CMDIFrameWndEx::OnSettingChange(uFlags, lpszSection);
}
#if 1
//ÏÔʾÊó±êλÖÃ×ø±ê
void CMainFrame::ShowMouseCoord(CPoint point)
{
Dbxy pt = gDraw->CPoint2Dbxy(point);
CString MouseX,MouseY;
MouseX.Format("%lf",pt.x);
MouseY.Format("%lf",pt.y);
CString str = "µ±Ç°×ø±ê(µ¥Î»mm ):x = ["+MouseX+"]"+" y = ["+MouseY+"]";
str += " "+m_StatusBarExtStr;
m_wndStatusBar.SetPaneText(0,(LPCTSTR)str,TRUE);
}
//ÏÔʾview µ±Ç°µÄËõ·Å±ÈÀý
void CMainFrame::ShowViewScale(double s)
{
CString Str;
Str.Format("%lf",s);
m_wndStatusBar.SetPaneText(0,(LPCTSTR)Str,TRUE);
}
void CMainFrame::SetCaptionCmdStr(CString str)
{
m_CaptionCmdStr = str+STR_INPUT_SYMBOL;
}
void CMainFrame::SetCaptionInputStr(CString str)
{
m_CaptionInputStr = str;
}
void CMainFrame::RefreashCaptionBar()
{
#ifdef __CAPTION_BAR__
CString Wstr = "ÃüÁî: "+m_CaptionCmdStr + m_CaptionInputStr;
m_wndCaptionBar.SetText(Wstr, CMFCCaptionBar::ALIGN_LEFT);
#endif
}
void CMainFrame::ResetCaptionBar()
{
m_CaptionCmdStr = "";
m_CaptionInputStr = "";
RefreashCaptionBar();
ResetStatusBarExtStr();
}
void CMainFrame::ResetStatusBarExtStr()
{
m_StatusBarExtStr = "";
}
void CMainFrame::SetStatusBarExtStr(CString str,CString val1,CString val2)
{
if(val1 != STR_NULL || val2 != STR_NULL)
{
str += " : ";
}
if(val1 != STR_NULL)
{
val1 = "<"+val1+">";
}
if(val2 != STR_NULL)
{
val2 = "<"+val2+">";
}
m_StatusBarExtStr = str+val1+val2;
}
//³·Ïú¶Ô»°¿ò°ó¶¨µÄobj ²ÎÊý
void CMainFrame::UnBindingDlg()
{
#ifdef __DLG_PANE_VAR_STRING__
m_DlgVariableString.UnBindingObj();
#endif
}
#endif
#if 1//²Ëµ¥º¯Êý
//´ò¿ªÎļþ
void CMainFrame::OnOpenFile()
{
if(gAuthorityMgr->CheckAuthority(_USER,true)==false)
return;
CWorkFileMgr WorkFileMgr;
WorkFileMgr.OnOpenFile();
GetCurViewPtr()->RefreshView();
gDrawPropertieMgr.SaveAllPropertie();
gDevicePropertieMgr.SaveAllPropertie();
}
//±£´æµ±Ç°´ò¿ªµÄÎĵµ
void CMainFrame::OnSaveFile()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
CWorkFileMgr WorkFileMgr;
WorkFileMgr.OnSaveFile();
}
//Áí´æΪ
void CMainFrame::OnSaveFileAs()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
CWorkFileMgr WorkFileMgr;
WorkFileMgr.OnSaveFileAs();
}
void CMainFrame::OnSaveFileAs2()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
gProgramCutMgr->SaveMarkFile2();
}
#endif
#if 1
//µ¼³öϵͳ²ÎÊý
void CMainFrame::OnExportDevicePar()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
TCHAR szFilters[]=("²ÎÊý Îļþ(*.txt)|*.txt");
CFileDialog dlg(FALSE,("txt"),("DeviceParFile"),OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilters);
if(dlg.DoModal()==IDOK)
{
ofstream File;
File.open(dlg.GetPathName());
gModuleDeviceMgr.ExportDevicePar(&File);
gModuleDrawMgr.ExportDevicePar(&File);
File.close();
}
}
//Óû§¹ÜÀí
void CMainFrame::OnUserMgr()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
CDlgUserMgr dlg;
dlg.DoModal();
}
#endif
#if 1
//¿ªÊ¼¼Æʱ
void CMainFrame::StartRecordTime()
{
#ifdef __DLG_PANE_WORK_TIME__
m_DlgWorkTime.StartRecordTime();
#endif
}
void CMainFrame::StopRecordTime()
{
#ifdef __DLG_PANE_WORK_TIME__
m_DlgWorkTime.StopRecordTime();
#endif
}
#endif
#if 1
void CMainFrame::OnDevicePar()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
return;
}
#endif