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

📄 dlgdynamicloadoptions.cpp

📁 一个计算悬臂梁的有限元vc源码
💻 CPP
字号:
// DlgDynamicLoadOptions.cpp : implementation file
//

#include "stdafx.h"
#include "OOPFE.h"
#include "DlgDynamicLoadOptions.h"

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

#define DYNAMIC_INSTANT_LOAD 0
#define DYNAMIC_SEISMIC_LOAD 1

/////////////////////////////////////////////////////////////////////////////
// CDlgDynamicLoadOptions dialog


CDlgDynamicLoadOptions::CDlgDynamicLoadOptions(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgDynamicLoadOptions::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgDynamicLoadOptions)
	m_dEditResponseDuration = 0.0;
	m_dEditDampRatio = 0.0;
	m_dEditLoadDuration = 0.0;
	m_sEditGroundAccFile = _T("");
	m_dEditDampRatio1 = 0.0;
	m_dEditTimeStep = 0.0;
	m_dEditPeakAcc = 0.0;
	m_dEditNewmarkGama = 0.0;
	m_dEditNewmarkBeta = 0.0;
	m_dEditWilsonXita = 0.0;
	//}}AFX_DATA_INIT
	m_iRadioDynamicLoadType=-1;
}


void CDlgDynamicLoadOptions::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgDynamicLoadOptions)
	DDX_Control(pDX, IDC_RADIO_SEISMIC_LOAD, m_btnSeismicLoad);
	DDX_Control(pDX, IDC_RADIO_INSTANT_LOAD, m_btnInstantLoad);
	DDX_Text(pDX, IDC_EDIT_RESPONSE_DURATION, m_dEditResponseDuration);
	DDV_MinMaxDouble(pDX, m_dEditResponseDuration, 0., 3000.);
	DDX_Text(pDX, IDC_EDIT_DAMP_RATIO, m_dEditDampRatio);
	DDX_Text(pDX, IDC_EDIT_LOAD_DURATION, m_dEditLoadDuration);
	DDV_MinMaxDouble(pDX, m_dEditLoadDuration, 0., 100000.);
	DDX_Text(pDX, IDC_EDIT_SEISMIC_LOAD_FILE, m_sEditGroundAccFile);
	DDX_Text(pDX, IDC_EDIT_DAMP_RATIO1, m_dEditDampRatio1);
	DDX_Text(pDX, IDC_EDIT_TIME_STEP, m_dEditTimeStep);
	DDV_MinMaxDouble(pDX, m_dEditTimeStep, 0., 100.);
	DDX_Text(pDX, IDC_EDIT_PEAK_ACC, m_dEditPeakAcc);
	DDV_MinMaxDouble(pDX, m_dEditPeakAcc, 0., 1.e+020);
	DDX_Text(pDX, IDC_EDIT_NEWMARK_GAMA, m_dEditNewmarkGama);
	DDV_MinMaxDouble(pDX, m_dEditNewmarkGama, 0., 1.);
	DDX_Text(pDX, IDC_EDIT_NEWMARK_BETA, m_dEditNewmarkBeta);
	DDV_MinMaxDouble(pDX, m_dEditNewmarkBeta, 0., 0.5);
	DDX_Text(pDX, IDC_EDIT_WILSON_XITA, m_dEditWilsonXita);
	DDV_MinMaxDouble(pDX, m_dEditWilsonXita, 0., 2.);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgDynamicLoadOptions, CDialog)
	//{{AFX_MSG_MAP(CDlgDynamicLoadOptions)
	ON_BN_CLICKED(IDC_RADIO_INSTANT_LOAD, OnRadioInstantLoad)
	ON_BN_CLICKED(IDC_RADIO_SEISMIC_LOAD, OnRadioSeismicLoad)
	ON_BN_CLICKED(IDC_BUTTON_SEISMIC_LOAD_FILE, OnButtonSeismicLoadFile)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgDynamicLoadOptions message handlers

void CDlgDynamicLoadOptions::OnRadioInstantLoad() 
{
	// TODO: Add your control notification handler code here
	m_iRadioDynamicLoadType=DYNAMIC_INSTANT_LOAD;
	m_btnSeismicLoad.SetCheck(0);	
}

void CDlgDynamicLoadOptions::OnRadioSeismicLoad() 
{
	// TODO: Add your control notification handler code here
	m_iRadioDynamicLoadType=DYNAMIC_SEISMIC_LOAD;
	m_btnInstantLoad.SetCheck(0);
}

BOOL CDlgDynamicLoadOptions::OnInitDialog() 
{
	CDialog::OnInitDialog();
	// TODO: Add extra initialization here
	if(m_iRadioDynamicLoadType==DYNAMIC_INSTANT_LOAD){
		m_btnInstantLoad.SetCheck(1);
		m_btnSeismicLoad.SetCheck(0);
	}
	else if(m_iRadioDynamicLoadType==DYNAMIC_SEISMIC_LOAD){
		m_btnInstantLoad.SetCheck(0);
		m_btnSeismicLoad.SetCheck(1);
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgDynamicLoadOptions::OnButtonSeismicLoadFile() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(TRUE);
	char sFilter[]="All file(*.*)\0*.*\0\0";
	dlg.m_ofn.lpstrFilter=sFilter;
	UpdateData(TRUE);
	if(dlg.DoModal()==IDOK){
		m_sEditGroundAccFile=dlg.GetPathName();
		UpdateData(FALSE);
	}
}

⌨️ 快捷键说明

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