📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "CVenus.h"
#include "MainFrm.h"
//#include "TreeViewProject.h"
//#include "TreeViewOperation.h"
// The following are for spd;
#include "DialogSDT.h"
#include "DialogNewProject.h"
#include "DialogProjectModify.h"
#include "SourceDataView.h"
#include "NewSourceDataView.h"
//#include "DialogShotPara.h"
#include "ShotParaView.h"
#include "OilShotParaSelectView.h"
#include "GasShotParaSelectView.h"
#include "OilShotForecastView.h"
#include "GasShotForecastView.h"
#include "OilSandDesign.h"
#include "GasSandDesign.h"
#include "OilMinusPressView.h"
#include "GasMinusPressView.h"
#include "OilSandPressDesign.h"
#include "GasSandPressDesign.h"
//#include "DialogTextReport.h"
#include "TextReportView.h"
//#include "Graph.h"
#include "NewGraph.h"
#include "ChildFrm.h"
#include "CVenusDoc.h"
// The following are for Shwrj
#include "ShwrjChildFrame.h"
#include "SjsrForm.h"
#include "WdycForm.h"
#include "TjflxForm.h"
#include "ThmtbForm.h"
#include "SrhfForm.h"
#include "SrbdForm.h"
#include "SrhlForm.h"
#include "CzwdForm.h"
#include "CzylForm.h"
#include "TrqhslForm.h"
#include "SxqthslForm.h"
// The following are for Shwrj
#include "TGBasForm.h"
#include "TGCac.h"
#include "Splash.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define _LOCKWINDOWS
#ifdef _LOCKWINDOWS
#define LockMyWindowUpdate() LockWindowUpdate()
#define UnlockMyWindowUpdate() UnlockWindowUpdate()
#else
#define LockMyWindowUpdate()
#define UnlockMyWindowUpdate()
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(IDM_WORKSPACE, OnWorkspace)
ON_UPDATE_COMMAND_UI(IDM_WORKSPACE, OnUpdateWorkspace)
ON_COMMAND(ID_ALWAYS_TOPMOST, OnAlwaysTopmost)
ON_UPDATE_COMMAND_UI(ID_ALWAYS_TOPMOST, OnUpdateAlwaysTopmost)
ON_COMMAND(ID_DATA_SDT, OnDataSdt)
ON_COMMAND(ID_INIT_FILE_NEW, OnInitFileNew)
ON_COMMAND(ID_FILE_MRU_FILE1, OnFileMruFile1)
ON_COMMAND(ID_FILE_MRU_FILE2, OnFileMruFile2)
ON_COMMAND(ID_FILE_MRU_FILE3, OnFileMruFile3)
ON_COMMAND(ID_FILE_MRU_FILE4, OnFileMruFile4)
ON_COMMAND(ID_SPD_SAVE_USER, OnSpdSaveUser)
ON_COMMAND(ID_SPD_SAVE_AS_USER, OnSpdSaveAsUser)
ON_COMMAND(ID_INIT_FILE_OPEN, OnInitFileOpen)
ON_COMMAND(ID_SPD_CLOSEPROJECT, OnSpdCloseproject)
ON_COMMAND(ID_DATA_EDITPROJECTINFO, OnDataEditprojectinfo)
ON_COMMAND(ID_DATA_INPUT, OnDataInput)
ON_COMMAND(ID_SD_SPR, OnSdSpr)
ON_COMMAND(ID_MENUITEM_SHOTPARASELECT, OnMenuitemShotparaselect)
ON_COMMAND(ID_MENUITEM_SHOTFORECAST, OnMenuitemShotforecast)
ON_COMMAND(ID_MENUITEM_SANDDESIGN, OnMenuitemSanddesign)
ON_COMMAND(ID_MENUITEM33798, OnMenuitem33798)
ON_COMMAND(ID_MENUITEM33799, OnMenuitem33799)
ON_COMMAND(ID_MENUITEM_WORD, OnMenuitemWord)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSKM, OnMenuitemGasPaintKskm)
ON_COMMAND(ID_MENUITEM_SCALE, OnMenuitemScale)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSXW, OnMenuitemGasPaintKsxw)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSKJ, OnMenuitemGasPaintKskj)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSDP, OnMenuitemGasPaintKsdp)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSYC, OnMenuitemGasPaintKsyc)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSPK, OnMenuitemGasPaintKspk)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSWC, OnMenuitemGasPaintKswc)
ON_COMMAND(ID_MENUITEM_GAS_PAINT_KSKZR, OnMenuitemGasPaintKskzr)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSKM, OnMenuitemOilPaintKskm)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSXW, OnMenuitemOilPaintKsxw)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KZRXW, OnMenuitemOilPaintKzrxw)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSKJ, OnMenuitemOilPaintKskj)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSYH, OnMenuitemOilPaintKsyh)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSYC, OnMenuitemOilPaintKsyc)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSWH, OnMenuitemOilPaintKswh)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_WHFKS, OnMenuitemOilPaintWhfks)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSWC, OnMenuitemOilPaintKswc)
ON_COMMAND(ID_MENUITEM_OIL_PAINT_KSKZR, OnMenuitemOilPaintKskzr)
ON_COMMAND(ID_VIEW_SPDTOOLBAR, OnViewSpdtoolbar)
ON_UPDATE_COMMAND_UI(ID_VIEW_SPDTOOLBAR, OnUpdateViewSpdtoolbar)
ON_COMMAND(ID_VIEW_SPDWORKSPACE, OnViewSpdworkspace)
ON_UPDATE_COMMAND_UI(ID_VIEW_SPDWORKSPACE, OnUpdateViewSpdworkspace)
ON_COMMAND(ID_VIEW_SHWRJTOOLBAR, OnViewShwrjtoolbar)
ON_UPDATE_COMMAND_UI(ID_VIEW_SHWRJTOOLBAR, OnUpdateViewShwrjtoolbar)
ON_COMMAND(ID_VIEW_SHWRJWORKSPACE, OnViewShwrjworkspace)
ON_UPDATE_COMMAND_UI(ID_VIEW_SHWRJWORKSPACE, OnUpdateViewShwrjworkspace)
ON_COMMAND(ID_YL, OnYl)
ON_COMMAND(ID_WD, OnWd)
ON_COMMAND(ID_TJRLX, OnTjrlx)
ON_COMMAND(ID_THMB, OnThmb)
ON_COMMAND(ID_h, Onh)
ON_COMMAND(ID_ice, Onice)
ON_COMMAND(ID_hl, Onhl)
ON_COMMAND(ID_czwd, Onczwd)
ON_COMMAND(ID_czyl, Onczyl)
ON_COMMAND(ID_hsl, Onhsl)
ON_COMMAND(ID_sxhsl, Onsxhsl)
ON_COMMAND(ID_VIEW_TGTOOLBAR, OnViewTgtoolbar)
ON_UPDATE_COMMAND_UI(ID_VIEW_TGTOOLBAR, OnUpdateViewTgtoolbar)
ON_COMMAND(IDM_TG_BAS, OnTgBas)
ON_COMMAND(IDM_TG_SECURITY, OnTgSecurity)
ON_COMMAND(IDM_TG_NEW, OnTgNew)
ON_COMMAND(IDM_TG_OPEN, OnTgOpen)
ON_COMMAND(IDM_TG_SAVE, OnTgSave)
ON_COMMAND(IDM_TG_DATABASE, OnTgDatabase)
ON_COMMAND(ID_VIEW_TGWORKSPACE, OnViewTgworkspace)
ON_UPDATE_COMMAND_UI(ID_VIEW_TGWORKSPACE, OnUpdateViewTgworkspace)
ON_COMMAND(IDM_TG_SAVEAS, OnTgSaveas)
ON_COMMAND(IDM_TG_CACL, OnTgCacl)
ON_UPDATE_COMMAND_UI(IDM_TG_SAVE, OnUpdateTgSave)
ON_WM_NCRBUTTONDOWN()
ON_UPDATE_COMMAND_UI(ID_SPD_SAVE_USER, OnUpdateSpdSaveUser)
ON_UPDATE_COMMAND_UI(ID_MENUITEM_WORD, OnUpdateMenuitemWord)
ON_WM_CLOSE()
ON_UPDATE_COMMAND_UI(IDM_TG_PROJECT01, OnUpdateTgProject01)
ON_UPDATE_COMMAND_UI(IDM_TG_PROJECT02, OnUpdateTgProject02)
//}}AFX_MSG_MAP
ON_UPDATE_COMMAND_UI(ID_INDICATOR_APPTITLE, OnUpdateAppTitle)
ON_REGISTERED_MESSAGE(BCGM_TOOLBARMENU, OnToolbarContextMenu)
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_APPTITLE,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
bTopMost = false;
m_TGProjectType = 2; // 套管工程类型 1为生产套管 2为油管
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if(!CCVenusApp::m_bIsShowSplash)
CSplashWnd::ShowSplashScreen(this);
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndSpdToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndSpdToolBar.LoadToolBar(IDR_TOOLBAR_SPD))
{
TRACE0("Failed to create spd toolbar\n");
return -1; // fail to create
}
if (!m_wndShwrjToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndShwrjToolBar.LoadToolBar(IDR_TOOLBAR_SHWRJ))
{
TRACE0("Failed to create shwrj toolbar\n");
return -1; // fail to create
}
if (!m_wndTGToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndTGToolBar.LoadToolBar(IDR_TOOLBAR_TAOGUAN))
{
TRACE0("Failed to create taoguan toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
if (!m_wndWorkSpace.Create (_T("向导"), this, CSize (230, 200),
TRUE /* Has gripper */, ID_VIEW_WORKSPACE,
WS_CHILD | CBRS_LEFT))
{
TRACE0("Failed to create workspace bar\n");
return -1; // fail to create
}
m_wndWorkSpace.EnableDocking(CBRS_ALIGN_LEFT);
DockControlBar(&m_wndWorkSpace);
if (!m_wndSpdWorkSpace.Create (_T("向导"), this, CSize (220, 200),
TRUE /* Has gripper */, ID_VIEW_SPD_WORKSPACE,
WS_CHILD | CBRS_LEFT))
{
TRACE0("Failed to create spd workspace bar\n");
return -1; // fail to create
}
m_wndSpdWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndSpdWorkSpace);
if (!m_wndShwrjWorkSpace.Create (_T("向导"), this, CSize (250, 200),
TRUE /* Has gripper */, ID_VIEW_SHWRJ_WORKSPACE,
WS_CHILD | CBRS_LEFT))
{
TRACE0("Failed to create spd workspace bar\n");
return -1; // fail to create
}
if (!m_wndTGWorkSpace.Create (_T("向导"), this, CSize (180, 200),
TRUE /* Has gripper */, ID_VIEW_TG_WORKSPACE,
WS_CHILD | CBRS_LEFT))
{
TRACE0("Failed to create TG workspace bar\n");
return -1; // fail to create
}
m_wndTGWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndTGWorkSpace);
m_wndShwrjWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndShwrjWorkSpace);
m_wndSpdToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndSpdToolBar);
m_wndShwrjToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndShwrjToolBar);
m_wndTGToolBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndTGToolBar);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~FWS_ADDTOTITLE;
cs.x = cs.y = 0;
cs.cx = 800; cs.cy = 600;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CMDIFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CMDIFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnWorkspace()
{
// TODO: Add your command handler code here
ShowControlBar (&m_wndWorkSpace,
!(m_wndWorkSpace.GetStyle () & WS_VISIBLE),
FALSE);
RecalcLayout ();
// m_wndWorkSpace.ShowWindow((m_wndWorkSpace.GetStyle() & WS_VISIBLE) == 0);
/* if(m_wndWorkSpace.IsWindowVisible())
ShowControlBar(&m_wndWorkSpace, FALSE, FALSE);
else
ShowControlBar(&m_wndWorkSpace, true, FALSE);
*/
}
void CMainFrame::OnUpdateWorkspace(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck (m_wndWorkSpace.GetStyle () & WS_VISIBLE);
}
void CMainFrame::RecalcLayout(BOOL bNotify)
{
// TODO: Add your specialized code here and/or call the base class
CMDIFrameWnd::RecalcLayout(bNotify);
if(((CCVenusApp*)AfxGetApp())->m_iAppType == 1)
SetPosition();
}
extern CCVenusApp theApp;
void CMainFrame::SetPosition()
{
if(theApp.m_pMainDlg == NULL || theApp.m_pGraphDlg == NULL)
return;
CRect rc;
int iLeft, iTop, iWidth, iHeight;
GetClientRect(&rc);
iLeft = rc.left + 1;
iTop = rc.top + 2;
iWidth = rc.Width() - 3;
iHeight = rc.Height() - 2;
if(m_wndStatusBar.GetStyle () & WS_VISIBLE)
{
m_wndStatusBar.GetClientRect(&rc);
iHeight -= rc.Height() + 2 ;
}
if((m_wndToolBar.GetStyle () & WS_VISIBLE) && !m_wndToolBar.IsFloating())
{
m_wndToolBar.GetClientRect(&rc);
iTop += rc.Height() + 1;
iHeight -= rc.Height() + 1;
}
if((m_wndWorkSpace.GetStyle () & WS_VISIBLE) && !m_wndWorkSpace.IsFloating())
{
m_wndWorkSpace.GetClientRect(&rc);
iLeft += rc.Width() + 14;
iWidth -= rc.Width() + 15;
}
theApp.m_pMainDlg->SetWindowPos(NULL,iLeft, iTop,iWidth, iHeight, NULL);
theApp.m_pResultDlg->SetWindowPos(NULL,iLeft, iTop,iWidth, iHeight, NULL);
theApp.m_pGraphDlg->SetWindowPos(NULL,iLeft, iTop,iWidth, iHeight, NULL);
}
void CMainFrame::OnAlwaysTopmost()
{
// TODO: Add your command handler code here
SetWindowPos(bTopMost?&wndNoTopMost:&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
bTopMost = !bTopMost;
}
void CMainFrame::OnUpdateAlwaysTopmost(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck (bTopMost);
}
void CMainFrame::ChangeMainFrame(int iAppType)
{
LockMyWindowUpdate( );
CString strAppTitle;
strAppTitle.LoadString(IDR_MAINFRAME);
SetWindowText(strAppTitle);
while(GetActiveFrame() != this)
GetActiveFrame()->SendMessage(WM_CLOSE,NULL,NULL);
switch(iAppType)
{
case 1:
m_NewMenu.LoadMenu(IDR_MAINFRAME_VENUS);
ShowControlBar(&m_wndToolBar,true,false);
ShowControlBar(&m_wndWorkSpace,true,false);
ShowControlBar(&m_wndSpdWorkSpace,false,false);
ShowControlBar(&m_wndSpdToolBar,false,false);
ShowControlBar(&m_wndShwrjToolBar,false,false);
ShowControlBar(&m_wndShwrjWorkSpace,false,false);
ShowControlBar(&m_wndTGToolBar,false,false);
ShowControlBar(&m_wndTGWorkSpace,false,false);
m_wndStatusBar.SetPaneText(1,_T("采气工艺方案设计及分析"));
break;
case 2:
m_NewMenu.LoadMenu(IDR_INITIALIZE_SPD);
ShowControlBar(&m_wndToolBar,false,false);
ShowControlBar(&m_wndWorkSpace,false,false);
ShowControlBar(&m_wndSpdWorkSpace,true,false);
ShowControlBar(&m_wndSpdToolBar,true,false);
ShowControlBar(&m_wndShwrjToolBar,false,false);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -