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

📄 dialog1.cpp

📁 FF快速傅立叶变换算法构建的DFB
💻 CPP
字号:
// dialog1.cpp : implementation file
//

#include "stdafx.h"
#include "DFB1.h"
#include "dialog1.h"
#include "math.h"

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

/////////////////////////////////////////////////////////////////////////////
// Cdialog1 dialog


Cdialog1::Cdialog1(CWnd* pParent /*=NULL*/)
	: CDialog(Cdialog1::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cdialog1)
	m_nchannel = 0;
	m_nDM = 0.0;
	m_nstartfreq = 0.0;
	m_nendfreq = 0.0;
	m_nfir =FALSE;
	m_calcu_channel = FALSE;
	m_fir_num = 0;
	m_windowtype = 0;
	m_period = 0.0;
	m_bins = 0;
	m_autofirnum = 0;
	m_autobins = FALSE;
	m_folding = FALSE;
	//}}AFX_DATA_INIT
}


void Cdialog1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cdialog1)
	DDX_Text(pDX, IDC_EDIT1, m_nchannel);
	DDX_Text(pDX, IDC_EDIT2, m_nDM);
	DDX_Text(pDX, IDC_EDIT3, m_nstartfreq);
	DDX_Text(pDX, IDC_EDIT4, m_nendfreq);
	DDX_Check(pDX, IDC_CHECK1, m_nfir);
	DDX_Check(pDX, IDC_CHECK2, m_calcu_channel);
	DDX_Text(pDX, IDC_EDIT5, m_fir_num);
	DDX_Radio(pDX, IDC_RADIO2, m_windowtype);
	DDX_Text(pDX, IDC_EDIT6, m_period);
	DDX_Text(pDX, IDC_EDIT7, m_bins);
	DDX_Text(pDX, IDC_EDIT8, m_autofirnum);
	DDX_Check(pDX, IDC_CHECK3, m_autobins);
	DDX_Check(pDX, IDC_CHECK4, m_folding);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Cdialog1, CDialog)
	//{{AFX_MSG_MAP(Cdialog1)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
	ON_BN_CLICKED(IDC_CHECK4, OnCheck4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cdialog1 message handlers

void Cdialog1::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
}

void Cdialog1::OnCheck1() 
{
	// TODO: Add your control notification handler code here
		CEdit *pEdit1=(CEdit * )GetDlgItem(IDC_EDIT5);    //取得编辑控件EDIT5的指针]
		CEdit *pEdit2=(CEdit * )GetDlgItem(IDC_RADIO2);    //取得编辑控件radio2的指针
		CEdit *pEdit3=(CEdit * )GetDlgItem(IDC_RADIO3);    //取得编辑控件radio3的指针
		CEdit *pEdit4=(CEdit * )GetDlgItem(IDC_RADIO4);    //取得编辑控件radio4的指针
		CEdit *pEdit5=(CEdit * )GetDlgItem(IDC_RADIO5);    //取得编辑控件radio5的指针]
		CEdit *pEdit6=(CEdit * )GetDlgItem(IDC_RADIO6);    //取得编辑控件radio6的指针
		CEdit *pEdit7=(CEdit * )GetDlgItem(IDC_RADIO7);    //取得编辑控件radio7的指针

	if(m_nfir==TRUE)
	{	
		pEdit1->EnableWindow(TRUE);	   //起用edit5
		pEdit2->EnableWindow(TRUE);	   //起用radio2
		pEdit3->EnableWindow(TRUE);	   //起用radio3
		pEdit4->EnableWindow(TRUE);	   //起用radio4
		pEdit5->EnableWindow(TRUE);	   //起用radio5
		pEdit6->EnableWindow(TRUE);	   //起用radio6
//		pEdit7->EnableWindow(TRUE);	   //起用radio7
		m_nfir=FALSE;
	}
	else
	{
		pEdit1->EnableWindow(FALSE);	   //禁用edit5
		pEdit2->EnableWindow(FALSE);	   //禁用radio2
		pEdit3->EnableWindow(FALSE);	   //禁用radio3
		pEdit4->EnableWindow(FALSE);	   //禁用radio4
		pEdit5->EnableWindow(FALSE);	   //禁用radio5
		pEdit6->EnableWindow(FALSE);	   //禁用radio6
//		pEdit7->EnableWindow(FALSE);	   //禁用radio7
		m_nfir=TRUE;
	}

}

void Cdialog1::OnCheck2() 
{

	CEdit *pEdit8=(CEdit * )GetDlgItem(IDC_EDIT1);    //取得编辑控件EDIT1的指针
	if(m_calcu_channel==FALSE)
	{
		m_autofirnum=int(pow(2*m_nDM/(2.41*m_nstartfreq),0.5)*((m_nendfreq-m_nstartfreq)/m_nstartfreq)*pow(10,8));
	    UpdateData(FALSE);
		pEdit8->EnableWindow(FALSE);	   //禁用edit8
		m_calcu_channel=TRUE;
	}
	else
	{
		pEdit8->EnableWindow(TRUE);	   //qi用edit8
		m_autofirnum=0;
	    UpdateData(FALSE);
		m_calcu_channel=FALSE;
	}

	
}


void Cdialog1::OnCheck3() 
{

}

void Cdialog1::OnCheck4() 
{
	CEdit *pEdit9=(CEdit * )GetDlgItem(IDC_EDIT7);    //取得编辑控件EDIT7的指针
	CEdit *pEdit10=(CEdit * )GetDlgItem(IDC_CHECK3); 
	if(m_folding==FALSE)
	{
		pEdit9->EnableWindow(FALSE);	   //禁用edit8
    	pEdit10->EnableWindow(FALSE);
		m_folding=TRUE;
	}
	else
	{
		pEdit9->EnableWindow(TRUE);	   //qi用edit8
	    pEdit10->EnableWindow(TRUE);
		m_folding=FALSE;
	}
}

⌨️ 快捷键说明

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