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

📄 middlevaluelvbo.cpp

📁 这个程序能够实现各种模板的中值滤波处理
💻 CPP
字号:
// Middlevaluelvbo.cpp : implementation file
//

#include "stdafx.h"
#include "程序设计.h"
#include "Middlevaluelvbo.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMiddlevaluelvbo dialog


CMiddlevaluelvbo::CMiddlevaluelvbo(CWnd* pParent /*=NULL*/)
	: CDialog(CMiddlevaluelvbo::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMiddlevaluelvbo)
	m_iFilterH = 0;
	m_iFilterW = 0;
	m_iFilterMX = 0;
	m_iFilterMY = 0;
	//}}AFX_DATA_INIT
}


void CMiddlevaluelvbo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMiddlevaluelvbo)
	DDX_Text(pDX, IDC_EDIT1, m_iFilterH);
	DDX_Text(pDX, IDC_EDIT2, m_iFilterW);
	DDX_Text(pDX, IDC_EDIT3, m_iFilterMX);
	DDX_Text(pDX, IDC_EDIT4, m_iFilterMY);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMiddlevaluelvbo, CDialog)
	//{{AFX_MSG_MAP(CMiddlevaluelvbo)
	ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
	ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
	ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
	ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMiddlevaluelvbo message handlers

void CMiddlevaluelvbo::OnRadio1() 
{
	// TODO: Add your control notification handler code here
		// 3×1模板
	m_iFilterType = 0;
	m_iFilterH = 3;
	m_iFilterW = 1;
	m_iFilterMX = 0;
	m_iFilterMY = 1;
	
	// 设置文本框不可用
	(CEdit *) GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
	
	// 更新
	UpdateData(FALSE);
}

void CMiddlevaluelvbo::OnRadio2() 
{
	// TODO: Add your control notification handler code here
	// 1×3模板	
	m_iFilterType = 1;
	m_iFilterH = 1;
	m_iFilterW = 3;
	m_iFilterMX = 1;
	m_iFilterMY = 0;
	
	// 设置文本框不可用
	(CEdit *) GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
	
	// 更新
	UpdateData(FALSE);
}

void CMiddlevaluelvbo::OnRadio3() 
{
	// TODO: Add your control notification handler code here
		// 3×3模板
	m_iFilterType = 2;
	m_iFilterH = 3;
	m_iFilterW = 3;
	m_iFilterMX = 1;
	m_iFilterMY = 1;
	
	// 设置文本框不可用
	(CEdit *) GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
	(CEdit *) GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
	
	// 更新
	UpdateData(FALSE);
}

void CMiddlevaluelvbo::OnRadio4() 
{
	// TODO: Add your control notification handler code here
		// 自定义模板
	(CEdit *) GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
	(CEdit *) GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
	(CEdit *) GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
	(CEdit *) GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
}

void CMiddlevaluelvbo::OnOK() 
{
	// TODO: Add extra validation here
		// 获取用户设置(更新)
	UpdateData(TRUE);
	
	// 判断设置是否有效
	if ((m_iFilterMX < 0) || (m_iFilterMX > m_iFilterW - 1) ||
		(m_iFilterMY < 0) || (m_iFilterMY > m_iFilterH - 1))
	{
		// 提示用户参数设置错误
		MessageBox("参数设置错误!", "系统提示" , MB_ICONINFORMATION | MB_OK);
		
		// 返回
		return;
	}
	
	// 退出
	CDialog::OnOK();
}

⌨️ 快捷键说明

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