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

📄 tgbasform.cpp

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

#include "stdafx.h"
#include "cvenus.h"
#include "TGBasForm.h"
#include	"MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTGBasForm

IMPLEMENT_DYNCREATE(CTGBasForm, CFormView)

CTGBasForm::CTGBasForm()
	: CFormView(CTGBasForm::IDD)
{
	//{{AFX_DATA_INIT(CTGBasForm)
	m_strCombo1 = _T("");
	m_iCombo2 = -1;
	m_iCombo3 = -1;
	m_strEdit1 = _T("");
	m_strEdit11 = _T("");
	m_strEdit10 = _T("");
	m_strEdit2 = _T("");
	m_strEdit3 = _T("");
	m_strEdit4 = _T("");
	m_strEdit5 = _T("");
	m_strEdit6 = _T("");
	m_strEdit7 = _T("");
	m_strEdit8 = _T("");
	m_strEdit9 = _T("");
	//}}AFX_DATA_INIT
}

CTGBasForm::~CTGBasForm()
{
}

void CTGBasForm::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTGBasForm)
	DDX_CBString(pDX, IDC_COMBO1, m_strCombo1);
	DDX_CBIndex(pDX, IDC_COMBO2, m_iCombo2);
	DDX_CBIndex(pDX, IDC_COMBO3, m_iCombo3);
	DDX_Text(pDX, IDC_EDIT1, m_strEdit1);
	DDX_Text(pDX, IDC_EDIT11, m_strEdit11);
	DDX_Text(pDX, IDC_EDIT10, m_strEdit10);
	DDX_Text(pDX, IDC_EDIT2, m_strEdit2);
	DDX_Text(pDX, IDC_EDIT3, m_strEdit3);
	DDX_Text(pDX, IDC_EDIT4, m_strEdit4);
	DDX_Text(pDX, IDC_EDIT5, m_strEdit5);
	DDX_Text(pDX, IDC_EDIT6, m_strEdit6);
	DDX_Text(pDX, IDC_EDIT7, m_strEdit7);
	DDX_Text(pDX, IDC_EDIT8, m_strEdit8);
	DDX_Text(pDX, IDC_EDIT9, m_strEdit9);
	DDX_Control(pDX, IDC_SPREAD1, m_ctrlSpread);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTGBasForm, CFormView)
	//{{AFX_MSG_MAP(CTGBasForm)
	ON_WM_CREATE()
	ON_CBN_SELCHANGE(IDC_COMBO3, OnSelchangeCombo3)
	ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
	ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
	ON_CBN_EDITCHANGE(IDC_COMBO1, OnEditchangeCombo1)
	//}}AFX_MSG_MAP
	ON_EN_CHANGE(IDC_EDIT2, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT5, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT7, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT8, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT9, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT10, OnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT11, OnChangeEdit1)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTGBasForm diagnostics

#ifdef _DEBUG
void CTGBasForm::AssertValid() const
{
	CFormView::AssertValid();
}

void CTGBasForm::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTGBasForm message handlers


int CTGBasForm::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;
    
    if(((CMainFrame*)AfxGetMainWnd())->m_TGProjectType==1)
		GetParentFrame()->SetWindowText(_T("生产套管强度校核-基础数据录入"));
	else
		GetParentFrame()->SetWindowText(_T("油管强度校核-基础数据录入"));
        	
	return 0;
}

void CTGBasForm::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	m_pTGData = &(((CMainFrame*)AfxGetMainWnd())->m_TGData);

	int		i, j;
	if(((CMainFrame*)AfxGetMainWnd())->m_TGProjectType==1)
	{
		m_strEdit1 = m_pTGData->m_strEdit[0];
		m_strEdit2 = m_pTGData->m_strEdit[1];
		m_strEdit3 = m_pTGData->m_strEdit[2];
		m_strEdit4 = m_pTGData->m_strEdit[3];
		m_strEdit5 = m_pTGData->m_strEdit[4];
		m_strEdit6 = m_pTGData->m_strEdit[5];
		m_strEdit7 = m_pTGData->m_strEdit[6];
		m_strEdit8 = m_pTGData->m_strEdit[7];
		m_strEdit9 = m_pTGData->m_strEdit[8];
		m_strEdit10 = m_pTGData->m_strEdit[9];
		m_strEdit11 = m_pTGData->m_strEdit[10];
		m_strCombo1 = m_pTGData->m_strCombo1;
		m_iCombo2 = atoi(m_pTGData->m_strCombo2);
		m_iCombo3 = atoi(m_pTGData->m_strCombo3);
		for(i = 0; i<8; i++)
		{
			m_ctrlSpread.SetRow(i+1);
			for(j = 0; j<4; j++)
			{
				m_ctrlSpread.SetCol(j+1);
				m_ctrlSpread.SetText(m_pTGData->m_grid1[i][j]);
			}
		}
		UpdateData(false);
		GetDlgItem(IDC_EDIT5)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT6)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT7)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT8)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT9)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT10)->EnableWindow(!m_iCombo3);
		GetDlgItem(IDC_EDIT11)->EnableWindow(!m_iCombo3);
	}
	else
	{
	    GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC7)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC9)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC10)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC14)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC15)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC16)->ShowWindow(SW_HIDE);
	    GetDlgItem(IDC_STATIC17)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT7)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT8)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT9)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_EDIT10)->ShowWindow(SW_HIDE);
        GetDlgItem(IDC_EDIT11)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMBO1)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMBO2)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMBO3)->ShowWindow(SW_HIDE);
		
		GetDlgItem(IDC_SPREAD1)->SetWindowPos(NULL,4,4,600,435,SWP_SHOWWINDOW);
        m_ctrlSpread.SetMaxRows(12);
        m_ctrlSpread.SetMaxCols(5);
		m_ctrlSpread.SetRow(-1);
	    m_ctrlSpread.SetCol(-1);
	    m_ctrlSpread.SetAction(3);
		m_ctrlSpread.SetFontName("宋体");
		m_ctrlSpread.SetFontSize(12);
		m_ctrlSpread.SetRow(-1);
		m_ctrlSpread.SetCol(1);
		m_ctrlSpread.SetCellType(5);
		m_ctrlSpread.SetRow(-1);
		m_ctrlSpread.SetCol(2);
		m_ctrlSpread.SetCellType(5);
		m_ctrlSpread.SetRow(-1);
		m_ctrlSpread.SetCol(3);
		m_ctrlSpread.SetCellType(5);
		m_ctrlSpread.SetRow(-1);
		m_ctrlSpread.SetCol(4);
		m_ctrlSpread.SetCellType(5);

        for(i=0;i<13;i++)
		{
            m_ctrlSpread.SetRowHeight(i,20);
		}
		
		m_ctrlSpread.SetCol(5);
		for(i = 0; i<13; i++)
		{
			m_ctrlSpread.SetRow(i);
			m_ctrlSpread.SetText(m_pTGData->m_grid1[i][5]);
		}

		m_ctrlSpread.SetRow(0);
		m_ctrlSpread.SetCol(0);
		m_ctrlSpread.SetText("");
		m_ctrlSpread.SetCol(1);
		m_ctrlSpread.SetText("参数名称");
		m_ctrlSpread.SetCol(2);
		m_ctrlSpread.SetText("参数单位");
		m_ctrlSpread.SetCol(3);
		m_ctrlSpread.SetText("最小值");
		m_ctrlSpread.SetCol(4);
		m_ctrlSpread.SetText("最大值");
		m_ctrlSpread.SetCol(5);
		m_ctrlSpread.SetText("参数数值");
		m_ctrlSpread.SetColWidth(0,5);
		m_ctrlSpread.SetColWidth(1,22);
		m_ctrlSpread.SetColWidth(2,14);
		m_ctrlSpread.SetColWidth(3,9);
		m_ctrlSpread.SetColWidth(4,9);
		m_ctrlSpread.SetColWidth(5,13);

        m_ctrlSpread.SetRow(1);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("油管下入深度");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("10000");
        m_ctrlSpread.SetRow(2);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("设计安全系数");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("无因次");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("10");
        m_ctrlSpread.SetRow(3);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("上段油管屈服极限");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("MPa");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("150");
        m_ctrlSpread.SetRow(4);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("上段油管外径");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1");
        m_ctrlSpread.SetRow(5);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("上段油管内径");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1");
        m_ctrlSpread.SetRow(6);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("上段油管抗拉强度");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("KN");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("2000");
        m_ctrlSpread.SetRow(7);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("上段油管单位长度重量");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("N/m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1000");
        m_ctrlSpread.SetRow(8);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("下段油管屈服极限");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("MPa");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("150");
        m_ctrlSpread.SetRow(9);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("下段油管外径");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1");
        m_ctrlSpread.SetRow(10);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("下段油管内径");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1");
        m_ctrlSpread.SetRow(11);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("下段油管抗拉强度");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("KN");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("2000");
        m_ctrlSpread.SetRow(12);m_ctrlSpread.SetCol(1);m_ctrlSpread.SetText("下段油管单位长度重量");
		m_ctrlSpread.SetCol(2);m_ctrlSpread.SetText("N/m");
		m_ctrlSpread.SetCol(3);m_ctrlSpread.SetText("0");
		m_ctrlSpread.SetCol(4);m_ctrlSpread.SetText("1000");

	}


}


void CTGBasForm::OnSelchangeCombo3() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	GetDlgItem(IDC_EDIT5)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT6)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT7)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT8)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT9)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT10)->EnableWindow(!m_iCombo3);
	GetDlgItem(IDC_EDIT11)->EnableWindow(!m_iCombo3);

	m_pTGData->m_strCombo3.Format("%d",m_iCombo3);
	m_pTGData->m_bModify = true;

}


BEGIN_EVENTSINK_MAP(CTGBasForm, CFormView)
    //{{AFX_EVENTSINK_MAP(CTGBasForm)
	ON_EVENT(CTGBasForm, IDC_SPREAD1, 4 /* Change */, OnChangeSpread1, VTS_I4 VTS_I4)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CTGBasForm::OnChangeSpread1(long Col, long Row) 
{
	// TODO: Add your control notification handler code here
	int		i, j;
	if(((CMainFrame*)AfxGetMainWnd())->m_TGProjectType==1)
	{
		for(i = 0; i<8; i++)
		{
			m_ctrlSpread.SetRow(i+1);
			for(j = 0; j<4; j++)
			{
				m_ctrlSpread.SetCol(j+1);
				m_pTGData->m_grid1[i][j] = m_ctrlSpread.GetText();
			}
		}
	}
	else
	{       //问题:输入最后一个数据后焦点要离开,采能取到最后一个数据,需完善
		for(i = 0; i<13; i++)
		{
			m_ctrlSpread.SetRow(i);
			for(j = 0; j<6; j++)
			{
			    m_ctrlSpread.SetCol(j);
				m_pTGData->m_grid1[i][j] = m_ctrlSpread.GetText();
			}
		}
	}
	m_pTGData->m_bModify = true;
	
}

void CTGBasForm::OnChangeEdit1() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CFormView::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_pTGData->m_strEdit[0] = m_strEdit1;
	m_pTGData->m_strEdit[1] = m_strEdit2;
	m_pTGData->m_strEdit[2] = m_strEdit3;
	m_pTGData->m_strEdit[3] = m_strEdit4;
	m_pTGData->m_strEdit[4] = m_strEdit5;
	m_pTGData->m_strEdit[5] = m_strEdit6;
	m_pTGData->m_strEdit[6] = m_strEdit7;
	m_pTGData->m_strEdit[7] = m_strEdit8;
	m_pTGData->m_strEdit[8] = m_strEdit9;
	m_pTGData->m_strEdit[9] = m_strEdit10;
	m_pTGData->m_strEdit[10] = m_strEdit11;
	m_pTGData->m_bModify = true;
	
}

void CTGBasForm::OnSelchangeCombo2() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_pTGData->m_strCombo2.Format("%d",m_iCombo2);
	m_pTGData->m_bModify = true;
	
}

void CTGBasForm::OnSelchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_pTGData->m_strCombo1 = m_strCombo1;
	m_pTGData->m_bModify = true;
	
}

void CTGBasForm::OnEditchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_pTGData->m_strCombo1 = m_strCombo1;
	m_pTGData->m_bModify = true;
	
}

⌨️ 快捷键说明

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