⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 参数化车间设备资源绘制程序
💻 CPP
字号:
// MainFrm.cpp : CMainFrame 类的实现
//

#include "stdafx.h"




#include "VisDraw.h"

#include "MainFrm.h"
#include ".\mainfrm.h"
#include "MachineSelect.h"
#include  "TechCourse.h"
//#include "DlgBar.h"

#include  "Dlg4.h"

#include  "DialogBarView.h"

#include  "Mysheet.h"
#include "MyProPage1.h"
#include "MyProPageMid.h"
#include "RightView.h"
//#include "GongXu.h"
//#include "GongBu.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


CDialogBar m_wndDlgBar;
CDialogBar m_wndSBDlgBar;
CDialogBar m_wndDlgBarLanguage;
//CDialogBar m_TechCourse;




// CMainFrame

IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
	ON_WM_CREATE()
	ON_UPDATE_COMMAND_UI(ID_INDICATOR_XL, OnUpdateIndicatorXL)
	ON_UPDATE_COMMAND_UI(ID_INDICATOR_YL, OnUpdateIndicatorYL)

	// 全局帮助命令
	ON_COMMAND(ID_HELP_FINDER, CMDIFrameWnd::OnHelpFinder)
	ON_COMMAND(ID_HELP, CMDIFrameWnd::OnHelp)
	ON_COMMAND(ID_CONTEXT_HELP, CMDIFrameWnd::OnContextHelp)
	ON_COMMAND(ID_DEFAULT_HELP, CMDIFrameWnd::OnHelpFinder)
	ON_COMMAND(ID_VIEW_DRAWTOOLBAR, OnViewDrawtoolbar)
	ON_UPDATE_COMMAND_UI(ID_VIEW_DRAWTOOLBAR, OnUpdateViewDrawtoolbar)
	//ON_COMMAND(ID_VIEW_MACHINESTOOLBAR, OnViewMachinestoolbar)
	//ON_UPDATE_COMMAND_UI(ID_VIEW_MACHINESTOOLBAR, OnUpdateViewMachinestoolbar)
	//ON_COMMAND(ID_VIEW_EIDTDLGBAR, OnViewEidtdlgbar)
	//ON_COMMAND(ID_TECHCOURSE, &CMainFrame::OnTechcourse)
//	ON_COMMAND(ID_GOYIGUIHUA, &CMainFrame::OnGoyiguihua)
//ON_COMMAND(ID_ZHISHIKU, &CMainFrame::OnZhishiku)
ON_COMMAND(ID_DLG4, &CMainFrame::OnDlg4)
//ON_COMMAND(ID_GONGYIGUOCHENGKA, &CMainFrame::OnGongyiguochengka)
ON_COMMAND(ID_GYJBXXSR, &CMainFrame::OnGyjbxxsr)
ON_COMMAND(ID_VIEWEIDTDLGBAR, &CMainFrame::OnVieweidtdlgbar)
ON_COMMAND(ID_VIEW_SHEBEI, &CMainFrame::OnViewShebei)
//ON_BN_CLICKED(IDC_PROCESS_SHOW, &CMainFrame::OnBnClickedProcessShow)
//ON_BN_CLICKED(IDC_BUTTON_SBNL, &CMainFrame::OnBnClickedButtonSbnl)
ON_BN_CLICKED(IDC_BUTTON_SBNLPZ, &CMainFrame::OnBnClickedButtonSbnlpz)
//ON_COMMAND(ID_GONGXUKA, &CMainFrame::OnGongxuka)
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // 状态行指示器
	ID_INDICATOR_XL,
	ID_INDICATOR_YL,
	//ID_INDICATOR_SCRL,
};

static UINT DrawButtons[]=
{
	ID_DRAW_SELECTION,
	ID_DRAW_LINE,
	ID_DRAW_RECTANGLE,
	ID_DRAW_CIRCLE,
	ID_DRAW_POINT,
	ID_DRAW_TRIPOINT,
	ID_DRAW_POLYLINE,
	ID_DRAW_POLYGON,
	//ID_DRAW_CROSS,
	ID_DRAW_HORIZEN,
	ID_DRAW_VERTICAL,
	//ID_DRAW_FILLRECT,
	//ID_DRAW_FILLCIRCLE,
	//ID_DRAW_FILLELLIPSE,
	//ID_DRAW_FILLPOLY,
	//ID_DRAW_MODIFY,
	//ID_DRAW_MOVE,
	//ID_DRAW_SET,
	ID_DRAW_TEXT,
	ID_EDIT_CUT,
	ID_EDIT_COPY,
	ID_EDIT_PASTE,
	//ID_EDIT_CLEAR,	
	ID_DRAW_CHE,
	ID_XI,
	ID_BAO,
	ID_MO,
	ID_TANG,
	ID_ZUAN,
	ID_CHONG,
	ID_JU,
	ID_ZHONGXIN,
   ID_ZHEWAN,
        //ID_XUANZE,
};

//static UINT MachinesButtons[]=
//{
//	
//		
//		
//
//};
// CMainFrame 构造/析构

CMainFrame::CMainFrame()
{
	// TODO: 在此添加成员初始化代码
	m_xd=0.0;
	m_yd=0.0;
	m_bVisibledlg=FALSE;
	//m_TechTemplate=0;
	//m_pTechCourse=NULL;
	//m_pRightView1Str=m_pRightView1->m_gongxu;
}

CMainFrame::~CMainFrame()
{
	//if(0!=m_TechTemplate)
	//{
	//	delete m_TechTemplate;
	//	//m_TechTemplate=0;
	//}
	/*if(m_pTechCourse!=NULL)
	{
		delete m_pTechCourse;
	}*/

}


int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	EnableDocking(CBRS_ALIGN_ANY);
	
	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(IDR_MAINFRAME))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	m_wndToolBar.SetWindowText(_T("标准"));

//if (! m_editToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
//		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
//		! m_editToolBar.LoadToolBar(IDR_TOOLBAR1))
//	{
//		TRACE0("未能创建工具栏\n");
//		return -1;      // 未能创建
//	}

//	 m_editToolBar.SetWindowText(_T("标准"));
	// m_editToolBar

	//创建绘图工具栏
	if (!CreateDrawToolBar())
		return -1;

	//创建机床工具栏
	//if(!CreateMachinesToolBar())
	//	return -1;


	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("未能创建状态栏\n");
		return -1;      // 未能创建
	}
	// TODO: 如果不需要工具栏可停靠,则删除这三行
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
   // m_editToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);
//	DockControlBar(&m_editToolBar);

	//
	//if(dlgbar.Create(this, IDD_DIALOGBAR,
	//	CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY|CBRS_NOALIGN, IDD_DIALOGBAR))
	//	{
	//	TRACE0("Failed to create DlgBar\n");
	//	return -1;      // fail to create
	//}


if (!m_wndDlgBar.Create(this, IDD_DIALOGBAR1,
		CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY|CBRS_NOALIGN, IDD_DIALOGBAR1))//CBRS_NOALIGN   
	{
		TRACE0("Failed to create DlgBar\n");
	return -1;      // fail to create
 }
if (!m_wndSBDlgBar.Create(this, IDD_DIALOGBAR3,
		CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY|CBRS_NOALIGN, IDD_DIALOGBAR3))//CBRS_NOALIGN   
	{
		TRACE0("Failed to create DlgBar\n");
	return -1;      // fail to create
 }

if (!m_wndDlgBarLanguage.Create(this, IDD_DIALOGBAR_LANGUAGE,
		CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY, IDD_DIALOGBAR_LANGUAGE))
	{
		TRACE0("Failed to create DlgBar\n");
		return -1;      // fail to create
	}


	//if (!m_wndCzpTextDlgBar.Create(this, IDD_SHOWCZPDLG,
	//	CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY, IDD_SHOWCZPDLG))
	//{
	//	TRACE0("Failed to create DlgBar\n");
	//	return -1;      // fail to create
	//}
	//m_wndCzpTextDlgBar.ShowWindow(0);
	m_wndDlgBar.ShowWindow(0);
	m_wndSBDlgBar.ShowWindow(0);
	m_wndDlgBarLanguage.ShowWindow(0);

	/*;.ShowWindow(0);*/

	//if (!m_TechCourse.Create(this,IDD_DIALOG_ADO,
	//	CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY|CBRS_NOALIGN, IDD_DIALOG_ADO))//CBRS_NOALIGN   
	//{
	//	TRACE0("Failed to create ReBar\n");
	//	return -1;      // fail to create
	//}	
	//m_TechCourse.ShowWindow(0);

	return 0;

}


BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CMDIFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
	// 样式

	return TRUE;
}


// CMainFrame 诊断

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CMDIFrameWnd::AssertValid();
}


void CMainFrame::Dump(CDumpContext& dc) const
{
	CMDIFrameWnd::Dump(dc);
}

#endif //_DEBUG


// CMainFrame 消息处理程序

void CMainFrame::OnUpdateIndicatorXL(CCmdUI* pCmdUI) 
{
  char buffer[20];
  sprintf_s(buffer, "世界%8.3f", m_xd);
  pCmdUI->SetText(buffer);
}

void CMainFrame::OnUpdateIndicatorYL(CCmdUI* pCmdUI) 
{
  char buffer[20];
  sprintf_s(buffer, "世界%8.3f", m_yd);
  pCmdUI->SetText(buffer);
}

BOOL CMainFrame::CreateDrawToolBar()
{
	if (!m_wndDrawToolBar.CreateEx(this, TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_SIZE_FIXED |
		CBRS_TOP | CBRS_TOOLTIPS) ||
	!m_wndDrawToolBar.LoadToolBar(IDR_DRAW_TOOLBAR)||
		!m_wndDrawToolBar.SetButtons(DrawButtons,
		  sizeof(DrawButtons)/sizeof(UINT)))

	{
		TRACE0("Failed to create toolbar\n");
		return FALSE;       // fail to create
	}
	
	m_wndDrawToolBar.SetWindowText(_T("工具箱"));
	m_wndDrawToolBar.EnableDocking(0);

	// Create the Palette.  We are using hardcoded numbers for ease here
	// normally the location would be read in from an ini file.
	CPoint pt(GetSystemMetrics(SM_CXSCREEN) - 150,
		GetSystemMetrics(SM_CYSCREEN) / 3);

	m_wndDrawToolBar.SetColumns(3);
	FloatControlBar(&m_wndDrawToolBar, pt);
  
	return TRUE;
}



//BOOL CMainFrame::CreateMachinesToolBar()
//{
//	if (!m_wndMachinesToolBar.CreateEx(this, TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_SIZE_FIXED |
//		CBRS_TOP | CBRS_TOOLTIPS) ||
//	!m_wndMachinesToolBar.LoadToolBar(IDR_MACHINES_TOOLBAR)||
//		!m_wndMachinesToolBar.SetButtons(MachinesButtons,
//		  sizeof(MachinesButtons)/sizeof(UINT)))
//	{
//		TRACE0("Failed to create toolbar\n");
//		return FALSE;       // fail to create
//	}
//	
//	m_wndMachinesToolBar.SetWindowText(_T("工具箱2"));
//	m_wndMachinesToolBar.EnableDocking(0);
//
//	// Create the Palette.  We are using hardcoded numbers for ease here
//	// normally the location would be read in from an ini file.
//	CPoint pt(GetSystemMetrics(SM_CXSCREEN) - 150,
//		GetSystemMetrics(SM_CYSCREEN) / 3);
//
//	m_wndMachinesToolBar.SetColumns(3);
//	FloatControlBar(&m_wndMachinesToolBar, pt);
//  
//	return TRUE;
//}

void CMainFrame::OnViewDrawtoolbar()
{
	CDrawToolBar* pBar=&m_wndDrawToolBar;
	ShowControlBar(pBar, (pBar->GetStyle() & WS_VISIBLE) == 0, FALSE);
	RecalcLayout();
}

void CMainFrame::OnUpdateViewDrawtoolbar(CCmdUI *pCmdUI)
{
	pCmdUI->SetCheck(m_wndDrawToolBar.IsWindowVisible()); 
}



//void CMainFrame::OnViewMachinestoolbar()
//{
//	// TODO: 在此添加命令处理程序代码
//
//	CMachinesToolBar* pBar=&m_wndMachinesToolBar;
//	ShowControlBar(pBar, (pBar->GetStyle() & WS_VISIBLE) == 0, FALSE);
//	RecalcLayout();
//	
//}

//void CMainFrame::OnUpdateViewMachinestoolbar(CCmdUI *pCmdUI)
//{
//	// TODO: 在此添加命令更新用户界面处理程序代码
//	pCmdUI->SetCheck(m_wndMachinesToolBar.IsWindowVisible());
//}



//void CMainFrame::OnViewEidtdlgbar()
//{
//	// TODO: 在此添加命令处理程序代码
//	
//}

//void CMainFrame::OnTechcourse()
//{
//	m_bVisibledlg=!m_bVisibledlg;
//	 CTechCourse m_TechCourseDlg;
//
//
//	if(m_bVisibledlg)
//	{
    //  if(m_pTechCourse==NULL)
    //   { 
	//CRect rect;
   
	//m_pTechCourse=new CTechCourse;
	//m_pTechCourse->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,AFX_IDW_PANE_FIRST,NULL);
//	m_TechCourseDlg.ShowWindow(1);
//     //  }
//     //m_pTechCourse->ShowWindow(SW_SHOW);
//	}
//   else
//		{
//			m_TechCourseDlg.ShowWindow(0);
//			//m_wndCzpTextDlgBar.ShowWindow(0);
//		}
//	RecalcLayout();
//}

//void CMainFrame::OnGoyiguihua()
//{
//	// TODO: 在此添加命令处理程序代码
//	//CVisDrawDoc* pDoc = GetDocument();
//	//ASSERT_VALID(pDoc);
//		CZhishikuPage m_ZhishikuPage;
//	if(m_ZhishikuPage.DoModal() !=IDOK)
//	return;
//		Invalidate();
//	 pDoc->SetModifiedFlag();
//}

//void CMainFrame::OnZhishiku()
//{
//	// TODO: 在此添加命令处理程序代码
//	CVisDrawDoc* pDoc = GetDocument();
//  // ASSERT_VALID(pDoc);
//
//   CZhishiKuDlg Zhishiku;
//	Zhishiku.DoModal();
//	Invalidate();
//	//
//}

void CMainFrame::OnDlg4()
{
	// TODO: 在此添加命令处理程序代码
	m_bVisibledlg=!m_bVisibledlg;
	dlg4 = new CDlg4;
	dlg4->Create(IDD_ZHISHIDLG,this);
	//dlg4->ShowWindow(3);
if(m_bVisibledlg)
		{
	dlg4->ShowWindow(3);
		}
		else
		{
	dlg4->ShowWindow(0);
		}
RecalcLayout();
   //CDlg4 dlg;

   //dlg.DoModal();

   
}

//void CMainFrame::OnGongyiguochengka()
//{
	// TODO: 在此添加命令处理程序代码
	//m_pTechCourse = new CTechCourse;
  //m_pTechCourse->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,AFX_IDW_PANE_FIRST,NULL);
	//m_pTechCourse->ShowWindow(1);

//	CTechCourse m_TechCourseDlg;
////	m_TechCourseDlg.Create(NULL,NULL,WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,AFX_IDW_PANE_FIRST,NULL);
//	m_TechCourseDlg.ShowWindow(1);
//	Invalidate();
//}

void CMainFrame::OnGyjbxxsr()
{
	// TODO: 在此添加命令处理程序代码
CMysheet m_sheet(IDS_FIND);
CMyProPage1 page1;
CMyProPageMid page2;

	m_sheet.AddPage(&page1);
//	m_sheet.AddPage(&page2);
	m_sheet.DoModal();

	//CDialogPage DlgPage;
   // DlgPage.DoModal ();

}

void CMainFrame::OnVieweidtdlgbar()
{
	// TODO: 在此添加命令处理程序代码
	m_bVisibledlg=!m_bVisibledlg;
//dlgbar = new CDlgbar;
//dlgbar->CreateEx(this, IDD_DIALOGBAR,
//		CBRS_LEFT|CBRS_BOTTOM|CBRS_FLYBY|CBRS_NOALIGN,CRect rect(0,0,50,50), IDD_DIALOGBAR);
//dlgbar->Create(IDD_DIALOGBAR,this);
//dlgbar->ShowWindow(1);


		if(m_bVisibledlg)
		{
			
	m_wndDlgBar.ShowWindow(1);
	m_wndDlgBarLanguage.ShowWindow(1);
	m_wndSBDlgBar.ShowWindow(0);
		//	//m_wndCzpTextDlgBar.ShowWindow(1);
		//	dlgbar.DoModal();
	}
		else
	{
			m_wndDlgBar.ShowWindow(0);
				m_wndDlgBarLanguage.ShowWindow(0);

		//	//m_wndCzpTextDlgBar.ShowWindow(0);
	//	dlgbar->DestroyWindow();
	//		return;
	}
	//	Invalidate();
	RecalcLayout();
}

void CMainFrame::OnViewShebei()
{
	// TODO: 在此添加命令处理程序代码
	m_bVisibledlg=!m_bVisibledlg;
	if(!m_bVisibledlg)
		{
			
	m_wndSBDlgBar.ShowWindow(1);
	m_wndDlgBar.ShowWindow(0);
		m_wndDlgBarLanguage.ShowWindow(0);
		//	//m_wndCzpTextDlgBar.ShowWindow(1);
		//	dlgbar.DoModal();
	}
		else
	{
			m_wndSBDlgBar.ShowWindow(0);
		//	//m_wndCzpTextDlgBar.ShowWindow(0);
	//	dlgbar->DestroyWindow();
	//		return;
	}
	//	Invalidate();
	RecalcLayout();
}


void CMainFrame::OnBnClickedButtonSbnlpz()
{
	// TODO: 在此添加控件通知处理程序代码
	OnViewShebei();

}

//void CMainFrame::OnGongxuka()
//{
	// TODO: 在此添加命令处理程序代码
	

//}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -