📄 blurrulepage.cpp
字号:
// BlurRulePage.cpp : implementation file
//
#include "stdafx.h"
#include "AcquireKlg.h"
#include "AcquireKlgDoc.h"
#include "MainFrm.h"
#include "RuleDefineView.h"
#include "Global.h"
#include <math.h>
#include "BlurRulePage.h"
#include "savefunDlg.h"
#include "ado.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBlurRulePage dialog
extern CADODatabase GlDataBase;
CBlurRulePage::CBlurRulePage(CRuleDefineView* pParent) /*=NULL CRuleDefineView*/
: CDialog(CBlurRulePage::IDD, pParent)
{
//{{AFX_DATA_INIT(CBlurRulePage)
m_edit_bcont = _T("");
m_pRDView = pParent;
//}}AFX_DATA_INIT
}
void CBlurRulePage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBlurRulePage)
DDX_Control(pDX, IDC_COMBO_outnode, m_combo_outnode);
DDX_Control(pDX, IDC_EDIT1_LJXPC, m_etLjxpc);
DDX_Control(pDX, IDC_EDIT1_TJPARA, m_etTJPara);
DDX_Control(pDX, IDC_STATIC3, m_stRjxpc);
DDX_Control(pDX, IDC_EDIT_LRONGCHA, m_etLRongCha);
DDX_Control(pDX, IDC_EDIT_RRONGCHA, m_etRRongCha);
DDX_Control(pDX, IDC_EDIT_RJXPC, m_etRjxpc);
DDX_Control(pDX, IDC_STATIC5, m_stRRongCha);
DDX_Control(pDX, IDC_STATIC4, m_stLRongCha);
DDX_Control(pDX, IDC_COMBO_FUNTYPE, m_cmFunType);
DDX_Text(pDX, IDC_EDIT_BLURDESCRIBE, m_edit_bcont);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBlurRulePage, CDialog)
//{{AFX_MSG_MAP(CBlurRulePage)
ON_CBN_SELCHANGE(IDC_COMBO_FUNTYPE, OnSelchangeComboFuntype)
ON_BN_CLICKED(IDC_BUTTON_savefun, OnBUTTONsavefun)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////自定义函数/////////////////////////////////////////
//获得指定的视图类指针
/*CView* CBlurRulePage::GetView(CRuntimeClass* pClass)
{
CAcquireKlgDoc* pDoc=(CAcquireKlgDoc*)GetParentFrame()->GetActiveView()->GetDocument();
ASSERT(pDoc);
CView* pView = NULL;
POSITION pos=pDoc->GetFirstViewPosition();
while(pos!=NULL){
pView=pDoc->GetNextView(pos);
if(pView->IsKindOf(pClass))
break;
}
if(!pView->IsKindOf(pClass)){
AfxMessageBox("Can't Locate the View.");
return NULL;
}
return pView;
}
*/
void CBlurRulePage::showRongCha(bool bShow){
DWORD dwShow = bShow?SW_SHOW:SW_HIDE;
m_stLRongCha.ShowWindow(dwShow);
m_stRRongCha.ShowWindow(dwShow);
m_etLRongCha.ShowWindow(dwShow);
m_etRRongCha.ShowWindow(dwShow);
}
/////////////////////////////////////////////////////////////////////////////
// CBlurRulePage message handlers
BOOL CBlurRulePage::OnInitDialog()
{
CDialog::OnInitDialog();
// m_pNtView = (CNodeTreeView*)GetView(RUNTIME_CLASS(CNodeTreeView));
// m_pRDView=(CRuleDefineView*)GetView(RUNTIME_CLASS(CRuleDefineView));
SetDlgItemText(IDC_EDIT_hs,"单击按钮输入->");
m_cmFunType.AddString("正态分布(f1)");
m_cmFunType.AddString("三角分布(f2)");
m_cmFunType.AddString("梯形分布(f3)");
m_cmFunType.AddString("升半正态(f4)");
m_cmFunType.AddString("降半正态(f5)");
m_cmFunType.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBlurRulePage::OnSelchangeComboFuntype()
{
int nSelected = m_cmFunType.GetCurSel();
switch(nSelected){
case 0:
SetZhenTai();
break;
case 1:
SetSanJiao();
break;
case 2:
SetTiXing();
break;
case 3:
SetShengBan();
break;
case 4:
SetJiangBan();
break;
default:break;
}
m_pRDView->GetCurBlurFun();
m_pRDView->ShowBlurFun();
}
void CBlurRulePage::SetZhenTai(){
SetDlgItemText(IDC_STATIC2,"调节参数(k):");
m_etLjxpc.ShowWindow(false);
m_etTJPara.ShowWindow(false);
m_stRjxpc.ShowWindow(false);
m_etRjxpc.ShowWindow(false);
showRongCha(false);
m_pRDView->ShowImage("zhengtai1.bmp");
}
void CBlurRulePage::SetSanJiao(){
SetDlgItemText(IDC_STATIC2,"左极限偏差(b):");
m_etLjxpc.ShowWindow(false);
m_etTJPara.ShowWindow(false);
m_stRjxpc.ShowWindow(false);
m_etRjxpc.ShowWindow(false);
showRongCha(false);
m_pRDView->ShowImage("sanjiao1.bmp");
}
void CBlurRulePage::SetTiXing(){
SetDlgItemText(IDC_STATIC2,"左极限偏差(b):");
m_etLjxpc.ShowWindow(false);
m_etTJPara.ShowWindow(false);
m_stRjxpc.ShowWindow(false);
m_etRjxpc.ShowWindow(false);
showRongCha(false);
m_pRDView->ShowImage("tixing1.bmp");
}
void CBlurRulePage::SetShengBan(){
SetDlgItemText(IDC_STATIC2,"调节参数(k):");
m_etLjxpc.ShowWindow(false);
m_etTJPara.ShowWindow(false);
m_stRjxpc.ShowWindow(false);
m_etRjxpc.ShowWindow(false);
showRongCha(false);
m_pRDView->ShowImage("6_1.bmp");
}
void CBlurRulePage::SetJiangBan(){
SetDlgItemText(IDC_STATIC2,"调节参数(k):");
m_etLjxpc.ShowWindow(false);
m_etTJPara.ShowWindow(false);
m_stRjxpc.ShowWindow(false);
m_etRjxpc.ShowWindow(false);
showRongCha(false);
m_pRDView->ShowImage("8_1.bmp");
}
void CBlurRulePage::SetFuncTypeCurSel(int nCur){
m_cmFunType.SetCurSel(nCur-1);
}
int CBlurRulePage::GetFuncTypeCurSel(){
int nCur = m_cmFunType.GetCurSel();
if(nCur!=CB_ERR)
nCur++;
return nCur;
}
void CBlurRulePage::OnBUTTONsavefun()
{ CString strsn;
GetDlgItemText(IDC_EDIT_BLUR_ORDER,strsn);
strsn.TrimLeft();
if (strsn.GetLength()>0){
funtype=GetFuncTypeCurSel();
CsavefunDlg funcdlg;
funcdlg.DoModal();
}else
AfxMessageBox("无模糊规则!");
//m_pRDView->savefun();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -