📄 dlgdynamicloadoptions.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 + -