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

📄 maindlg.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// MainDlg.cpp : implementation file
//

#include "stdafx.h"
#include "cvenus.h"
#include "MainDlg.h"
#include "resource.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainDlg dialog

extern CCVenusApp theApp;

CMainDlg::CMainDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMainDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMainDlg)
	//}}AFX_DATA_INIT
	m_pParent     = pParent;
	m_btArtType = 1;
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


void CMainDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMainDlg)
	DDX_Control(pDX, IDC_TTF11, m_grid);
	DDX_Control(pDX, IDC_TTF12, m_grid2);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMainDlg, CDialog)
	ON_WM_CONTEXTMENU()
	//{{AFX_MSG_MAP(CMainDlg)
	ON_WM_SIZE()
	ON_WM_SHOWWINDOW()
	ON_WM_NCHITTEST()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMainDlg message handlers

/*************************************************************************
 *
 * Create()
 *
 * 功  能: 创立对话框
 *
 * 参  数: 无
 *
 * 返回值: 无
 *************************************************************************/
BOOL CMainDlg::Create()
{
	return CDialog::Create(CMainDlg::IDD, m_pParent);
}

BOOL CMainDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_hAccel = LoadAccelerators(AfxGetInstanceHandle( ),
		MAKEINTRESOURCE(IDR_MAINFRAME)); 

	
	CMenu* pSysMenu = GetSystemMenu(FALSE);		// 得到系统菜单的指针
	if (pSysMenu != NULL)
	{
		pSysMenu->ModifyMenu(0,MF_BYPOSITION);  
	}
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	// 添加属性页
	SetPage(m_btArtType);

	
	m_sheet.Create(this, WS_CHILD | WS_VISIBLE, 0);

	m_sheet.ModifyStyleEx (0, WS_EX_CONTROLPARENT, SWP_NOSIZE);
	
	
	TCHAR			Title[5][20] =
					{
						_T("参数名称"),
						_T("参数单位"),
						_T("最小值"),
						_T("最大值"),
						_T("参数数值"),
					};
	for(int i = 0 ;i < 5 ; ++ i)
	{
		m_grid.SetColText(long(i + 1),Title[i]);
	}
	m_grid.SetHdrHeight(400);
	m_grid.SetHdrSelection(TRUE, TRUE, TRUE);
	m_grid.SetFont("宋体", 12, FALSE, FALSE, FALSE, FALSE, RGB(0, 0, 0), FALSE, FALSE);
	m_grid.SetSelection(1, 1, m_grid.GetMaxRow(), 5);
	m_grid.SetFont("宋体", 12, FALSE, FALSE, FALSE, FALSE, RGB(0, 0, 0), FALSE, FALSE);

	Title1[0] = "项目";
	Title1[1] = "费用单位";
	Title1[2] = "费用";

	Title2[0] = "作业工序";
	Title2[1] = "单位";
	Title2[2] = "作业工时";

	Title3[0] = "新材料名称";
	Title3[1] = "规格型号";
	Title3[2] = "定额租用单价,元";
	Title3[3] = "设计租用数量";
	Title3[4] = "租用费,元";
	Title3[5] = "运杂费,元";
	Title3[6] = "小计金额,元";

	m_grid2.SetHdrHeight(400);
	m_grid2.SetHdrSelection(TRUE, TRUE, TRUE);
	m_grid2.SetFont("宋体", 12, FALSE, FALSE, FALSE, FALSE, RGB(0, 0, 0), FALSE, FALSE);
	m_grid2.SetSelection(1, 1, m_grid2.GetMaxRow(), 5);
	m_grid2.SetFont("宋体", 12, FALSE, FALSE, FALSE, FALSE, RGB(0, 0, 0), FALSE, FALSE);

	m_grid.SetSelection(1, 1, 1, 1);
	m_grid.SetColWidthAuto(-1, 1, 1, 5, TRUE);
//	m_grid2.SetColWidthAuto(-1, 1, 1, 30, TRUE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CMainDlg::SetPage(BYTE btArtType)
{
	while( m_sheet.GetPageCount() > 0 )
	{
		m_sheet.RemovePage(0);
	}

	// 添加属性页
	switch(btArtType)
	{
	case 0x01:
		m_sheet.AddPage(&m_Page1);
		break;

	case 0x02:
		m_sheet.AddPage(&m_Page2);
		break;
	// hss
	case 0x03:
		m_sheet.AddPage(&m_Page19);
		break;

	case 0x04:
		m_sheet.AddPage(&m_Page3);
		break;
	// hss
	case 0x05:
		m_sheet.AddPage(&m_Page20);
		break;

	case 0x06:
		m_sheet.AddPage(&m_Page4);
		break;
	case 0x07:
		m_sheet.AddPage(&m_Page5);
		break;
	case 0x08:
		m_sheet.AddPage(&m_Page6);
		break;
	case 0x09:
		m_sheet.AddPage(&m_Page7);
		break;
	case 0x0A:
		m_sheet.AddPage(&m_Page8);
		break;
	// hss
	case 0x0B:
		m_sheet.AddPage(&m_Page21);
		break;

	case 0x0C:
		m_sheet.AddPage(&m_Page9);
		break;

	case 0x0D:
		m_sheet.AddPage(&m_Page10);
		break;
	case 0x0E:
		m_sheet.AddPage(&m_Page11);
		break;
	case 0x0F:
		m_sheet.AddPage(&m_Page12);
		break;
	case 0x10:
		m_sheet.AddPage(&m_Page13);
		break;
	case 0x11:
		m_sheet.AddPage(&m_Page14);
		break;
	case 0x12:
		m_sheet.AddPage(&m_Page15);
		break;
	case 0x14:
		m_sheet.AddPage(&m_Page16);
		break;
	case 0x15:
		m_sheet.AddPage(&m_Page17);
		break;
	case 0x16:
		m_sheet.AddPage(&m_Page18);
		break;

	}

}

void CMainDlg::SetArtType(BYTE btArtType)
{
	m_btArtType = btArtType;

	SetPage(btArtType);

}

/*************************************************************************
 *
 * FileGridRow()
 *
 * 功  能: 填充表格的行
 *
 * 参  数: long row:      行号
 *         char* strName: 参数名称
 *         char* strUnit: 参数单位
 *         char* strMax:  最大值
 *         char* strMin:  最小值
 *         
 * 返回值: 无
 *
 *************************************************************************/
void CMainDlg::FileGridRow(long row, char* strName, char* strUnit, char* strMax, char* strMin) 
{
	m_grid.SetTextRC(row, 1, strName);
	m_grid.SetTextRC(row, 2, strUnit);
	m_grid.SetTextRC(row, 3, strMax);
	m_grid.SetTextRC(row, 4, strMin);
}

/*************************************************************************
 *
 * InitGrid()
 *
 * 功  能: 填充表格的行
 *
 * 参  数: BYTE  btProjectType: 工程类型
 *         
 * 返回值: 无
 *
 *************************************************************************/
void CMainDlg::InitGrid(BYTE btProjectType, int bLast, int bArt) 
{
	CString  str;
	long     ID;
//	int      i;

//	m_grid.ClearRange(1, 1, m_grid.GetMaxRow(), 5, 3);
	m_grid.DeleteRange(-1, -1, 0, 0, 0);
	m_grid2.ShowWindow(SW_HIDE);
	ID = m_grid.ObjFirstID();
	m_grid.SetObjVisible(ID, FALSE);
	m_grid.ShowWindow(SW_SHOW);
	SetWindowText(CWorkspaceBar::csProjectTree[btProjectType]);

⌨️ 快捷键说明

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