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

📄 dlgtemplate.cpp

📁 《图像模式识别之VC++技术实现》的附带光盘(上篇:分类程序)
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM9),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM10),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM11),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM12),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM13),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM14),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM15),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM16),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM17),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM18),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM19),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM20),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM21),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM22),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM23),EM_SETREADONLY,TRUE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM24),EM_SETREADONLY,TRUE,0);
}

void CDlgTemplate::OnButtonUpdate() 
{
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM0),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM1),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM2),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM3),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM4),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM5),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM6),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM7),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM8),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM9),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM10),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM11),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM12),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM13),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM14),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM15),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM16),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM17),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM18),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM19),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM20),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM21),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM22),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM23),EM_SETREADONLY,FALSE,0);
	::SendMessage(::GetDlgItem(m_hWnd,IDC_EDIT_NUM24),EM_SETREADONLY,FALSE,0);
	AfxMessageBox("请重新设计样品,然后保存样品。",MB_OK,NULL);
	GetDlgItem(IDC_BUTTON_SAVE)->EnableWindow(TRUE);	
}

void CDlgTemplate::OnButtonDelete() 
{
	if(pattern[select].number>1)
	{
		if(IDOK==AfxMessageBox("确认要删除该模板么?",MB_OKCANCEL,NULL))
		{
			for(int i=m_combo.GetCurSel();i<pattern[select].number-1;i++)
				for(int j=0;j<25;j++)
					pattern[select].feature[i][j] =pattern[select].feature[i+1][j];		
			pattern[select].number--;
			OnUpdate();
			m_combo.SetCurSel(0);
			OnCloseupCombo();

			AfxMessageBox("成功删除模板!",MB_OK,NULL);
			switch(select)
			{
			case 0:
				m_0--;break;
			case 1:
				m_1--;break;
			case 2:
				m_2--;break;
			case 3:
				m_3--;break;
			case 4:
				m_4--;break;			
			case 5:
				m_5--;break;			
			case 6:
				m_6--;break;			
			case 7:
				m_7--;break;			
			case 8:
				m_8--;break;			
			case 9:
				m_9--;break;
			}
			m_total--;
			UpdateData(FALSE);
		}
	}
	else
		AfxMessageBox("只剩下一个模板,无法完成删除!",MB_OK,NULL);	
	
}

void CDlgTemplate::OnButtonPrior() 
{
	if(m_combo.GetCurSel()>0)
	{
		m_combo.SetCurSel(m_combo.GetCurSel()-1);
		OnCloseupCombo() ;
		UpdateData(FALSE);
	}	
}

void CDlgTemplate::OnButtonNext() 
{
	if(m_combo.GetCurSel()<m_combo.GetCount())
	{
		m_combo.SetCurSel(m_combo.GetCurSel()+1);	
		OnCloseupCombo() ;
		UpdateData(FALSE);
	}	
}

BOOL CDlgTemplate::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CFile TheFile(curDir+"\\template.dat",CFile::modeRead);
	CArchive ar(&TheFile,CArchive::load,40960);
	TheFile.SeekToBegin();

	for(int i=0;i<10;i++)
	{
		ar>>pattern[i].number;
		for(int n=0;n<pattern[i].number;n++)
		for(int j=0;j<25;j++)
		{
			ar>>pattern[i].feature[n][j];
		}
	}
	
	ar.Close();
	TheFile.Close();	

	m_0 = pattern[0].number;	
	m_1 = pattern[1].number;
	m_2 = pattern[2].number;
	m_3 = pattern[3].number;
	m_4 = pattern[4].number;
	m_5 = pattern[5].number;
	m_6 = pattern[6].number;
	m_7 = pattern[7].number;
	m_8 = pattern[8].number;
	m_9 = pattern[9].number;	
	m_total = m_1+m_2+m_3+m_4+m_5
		+m_6+m_7+m_8+m_9+m_0;
	UpdateData(FALSE);
	CheckRadioButton(IDC_RADIO1,IDC_RADIO10,IDC_RADIO1);
	for(i=0;i<pattern[1].number;i++)
	{
		CString str;
		str.Format("%d",i);
		m_combo.AddString(str);
	}
	m_combo.SetCurSel(0);
	OnCloseupCombo();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgTemplate::OnRadio1() 
{
	select=1;	
	OnUpdate();
}

void CDlgTemplate::OnRadio2() 
{
	select=2;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio3() 
{
	select=3;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio4() 
{
	select=4;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio5() 
{
	select=5;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio6() 
{
	select=6;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio7() 
{
	select=7;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio8() 
{
	select=8;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio9() 
{
	select=9;	
	OnUpdate();	
}

void CDlgTemplate::OnRadio10() 
{
	select=0;	
	OnUpdate();	
}

void CDlgTemplate::OnUpdate()
{
	m_combo.ResetContent();
	for(int i=0;i<pattern[select].number;i++)
	{
		CString str;
		str.Format("%d",i);
		m_combo.AddString(str);
	}
	m_combo.SetCurSel(0);
	OnCloseupCombo();
}

void CDlgTemplate::OnCloseupCombo() 
{
	UpdateData(TRUE);
	m_num0=pattern[select].feature[m_combo.GetCurSel()][0];
	m_num1=pattern[select].feature[m_combo.GetCurSel()][1];
	m_num2=pattern[select].feature[m_combo.GetCurSel()][2];
	m_num3=pattern[select].feature[m_combo.GetCurSel()][3];
	m_num4=pattern[select].feature[m_combo.GetCurSel()][4];
	m_num5=pattern[select].feature[m_combo.GetCurSel()][5];
	m_num6=pattern[select].feature[m_combo.GetCurSel()][6];
	m_num7=pattern[select].feature[m_combo.GetCurSel()][7];
	m_num8=pattern[select].feature[m_combo.GetCurSel()][8];
	m_num9=pattern[select].feature[m_combo.GetCurSel()][9];
	m_num10=pattern[select].feature[m_combo.GetCurSel()][10];
	m_num11=pattern[select].feature[m_combo.GetCurSel()][11];
	m_num12=pattern[select].feature[m_combo.GetCurSel()][12];
	m_num13=pattern[select].feature[m_combo.GetCurSel()][13];
	m_num14=pattern[select].feature[m_combo.GetCurSel()][14];
	m_num15=pattern[select].feature[m_combo.GetCurSel()][15];
	m_num16=pattern[select].feature[m_combo.GetCurSel()][16];
	m_num17=pattern[select].feature[m_combo.GetCurSel()][17];
	m_num18=pattern[select].feature[m_combo.GetCurSel()][18];
	m_num19=pattern[select].feature[m_combo.GetCurSel()][19];
	m_num20=pattern[select].feature[m_combo.GetCurSel()][20];
	m_num21=pattern[select].feature[m_combo.GetCurSel()][21];
	m_num22=pattern[select].feature[m_combo.GetCurSel()][22];
	m_num23=pattern[select].feature[m_combo.GetCurSel()][23];
	m_num24=pattern[select].feature[m_combo.GetCurSel()][24];

	UpdateData(FALSE);	
}

⌨️ 快捷键说明

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