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

📄 configdlg.cpp

📁 Wiley 2009新书 Multicarrier Communications
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		if(m_lower_Field[1] > m_green)
			m_lower_Field[1] = m_green;
		if(m_lower_Field[2] > m_RGBTotal)
			m_lower_Field[2] = m_RGBTotal;
		break;
	}	
}

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

	Init_Upper_Lower();
	
	m_SliderDia.SetRange( 1, 100, TRUE );
	m_SliderPercent.SetRange( 0, 1000, TRUE );
	m_SliderZoom.SetRange( 0, 10, TRUE );

	return TRUE;  
}



void CConfigDlg::OnCustomdrawSliderDia(NMHDR* pNMHDR, LRESULT* pResult) 
{
	m_ObjectDia = m_SliderDia.GetPos();

	CString str;
	str.Format("物体直径:%d", m_ObjectDia);
	m_DiaInfo.SetWindowText(str);
	
	*pResult = 0;
}

void CConfigDlg::OnCustomdrawSliderPercent(NMHDR* pNMHDR, LRESULT* pResult) 
{
	m_ObjectPercent = 0.001 * m_SliderPercent.GetPos();

	CString str;
	str.Format("像素比例:%2.1f%%", 100 * m_ObjectPercent);
	m_PercentInfo.SetWindowText(str);
	
	*pResult = 0;
}

void CConfigDlg::OnGetresultButton() 
{
	m_bIsDisplayResult = !m_bIsDisplayResult;

	if(!m_bIsDisplayResult)
	{
		m_GetResultButton.SetWindowText("显示辨析结果");
		return;
	}

	m_GetResultButton.SetWindowText("返回到采样");	
}

void CConfigDlg::OnCustomdrawSliderZoom(NMHDR* pNMHDR, LRESULT* pResult) 
{
	m_Zoom = m_SliderZoom.GetPos() * 10;	
	if(m_pVideoDlg != NULL)
	{
		m_pVideoDlg->m_VideoControl.SetZoom(m_Zoom);
		m_pVideoDlg->m_FrameWidth = (int)(320 + (float)m_Zoom * 3.2);
		m_pVideoDlg->m_FrameHeight = (int)(240 + (float)m_Zoom * 2.4);

		CRect VideoRect;
		CRect VideoClientRect;
		CRect MainRect;
		int ToolBarWidth;

		m_pVideoDlg->GetWindowRect(&VideoRect);
		m_pVideoDlg->GetClientRect(&VideoClientRect);
		m_pVideoDlg->ClientToScreen(&VideoClientRect);

		ToolBarWidth = VideoRect.Height() - VideoClientRect.Height();

		m_pVideoDlg->m_Video.MoveWindow(0,
										0,
										m_pVideoDlg->m_FrameWidth,
										m_pVideoDlg->m_FrameHeight);

		m_pVideoDlg->MoveWindow(VideoRect.left, 
								VideoRect.top, 
								m_pVideoDlg->m_FrameWidth+6, 
								m_pVideoDlg->m_FrameHeight+ToolBarWidth);

		MainRect.left = VideoRect.Width();
		MainRect.right = MainRect.left+VideoRect.Width();
		MainRect.top = 0;
		MainRect.bottom = VideoRect.Height();
		AfxGetMainWnd()->MoveWindow(MainRect);
	}

	CString str;
	str.Format("视频焦距:%d", m_Zoom);
	m_ZoomInfo.SetWindowText(str);
	
	*pResult = 0;
}

void CConfigDlg::SetVideoDlg(CVideoDlg* pVideoDlg)
{
	m_pVideoDlg = pVideoDlg;
}

void CConfigDlg::OnSave() 
{
	FILE* pFile;

	pFile = fopen("sampling.txt", "w+");

	if(!pFile)
	{
		MessageBox("sampling文件无法打开!");
		return;
	}

	fprintf(pFile, "我队标志_red上限: %f\n", m_upper_MyTeamLable[0]);
	fprintf(pFile, "我队标志_green上限: %f\n", m_upper_MyTeamLable[1]);
	fprintf(pFile, "我队标志_RGBTotal上限: %f\n", m_upper_MyTeamLable[2]);

	fprintf(pFile, "\n");

	fprintf(pFile, "我队标志_red下限: %f\n", m_lower_MyTeamLable[0]);
	fprintf(pFile, "我队标志_green下限: %f\n", m_lower_MyTeamLable[1]);
	fprintf(pFile, "我队标志_RGBTotal下限: %f\n", m_lower_MyTeamLable[2]);

	fprintf(pFile, "\n");
	
	for(int i = 0; i < 5; i++)
	{
		fprintf(pFile, "我队队员%d_red上限: %f\n", i+1, m_upper_MyTeam[i][0]);
		fprintf(pFile, "我队队员%d_green上限: %f\n", i+1, m_upper_MyTeam[i][1]);
		fprintf(pFile, "我队队员%d_RGBTotal上限: %f\n", i+1, m_upper_MyTeam[i][2]);
	
		fprintf(pFile, "\n");
	
		fprintf(pFile, "我队队员%d_red下限: %f\n", i+1, m_lower_MyTeam[i][0]);
		fprintf(pFile, "我队队员%d_green下限: %f\n", i+1, m_lower_MyTeam[i][1]);
		fprintf(pFile, "我队队员%d_RGBTotal下限: %f\n", i+1, m_lower_MyTeam[i][2]);

		fprintf(pFile, "\n");
	}

	fprintf(pFile, "\n");

	fprintf(pFile, "他队标志_red上限: %f\n", m_upper_TheirTeamLable[0]);
	fprintf(pFile, "他队标志_green上限: %f\n", m_upper_TheirTeamLable[1]);
	fprintf(pFile, "他队标志_RGBTotal上限: %f\n", m_upper_TheirTeamLable[2]);
	
	fprintf(pFile, "\n");

	fprintf(pFile, "他队标志_red下限: %f\n", m_lower_TheirTeamLable[0]);
	fprintf(pFile, "他队标志_green下限: %f\n", m_lower_TheirTeamLable[1]);
	fprintf(pFile, "他队标志_RGBTotal下限: %f\n", m_lower_TheirTeamLable[2]);

	fprintf(pFile, "\n");

	for(i = 0; i < 5; i++)
	{
		fprintf(pFile, "他队队员%d_red上限: %f\n", i+1, m_upper_TheirTeam[i][0]);
		fprintf(pFile, "他队队员%d_green上限: %f\n", i+1, m_upper_TheirTeam[i][1]);
		fprintf(pFile, "他队队员%d_RGBTotal上限: %f\n", i+1, m_upper_TheirTeam[i][2]);

		fprintf(pFile, "\n");
	
		fprintf(pFile, "他队队员%d_red下限: %f\n", i+1, m_lower_TheirTeam[i][0]);
		fprintf(pFile, "他队队员%d_green下限: %f\n", i+1, m_lower_TheirTeam[i][1]);
		fprintf(pFile, "他队队员%d_RGBTotal下限: %f\n", i+1, m_lower_TheirTeam[i][2]);
	
		fprintf(pFile, "\n");
	}

	fprintf(pFile, "\n");

	fprintf(pFile, "球_red上限: %f\n", m_upper_Ball[0]);
	fprintf(pFile, "球_green上限: %f\n", m_upper_Ball[1]);
	fprintf(pFile, "球_RGBTotal上限: %f\n", m_upper_Ball[2]);

	fprintf(pFile, "\n");
	
	fprintf(pFile, "球_red下限: %f\n", m_lower_Ball[0]);
	fprintf(pFile, "球_green下限: %f\n", m_lower_Ball[1]);
	fprintf(pFile, "球_RGBTotal下限: %f\n", m_lower_Ball[2]);

	fprintf(pFile, "\n");

	fprintf(pFile, "场地_red上限: %f\n", m_upper_Field[0]);
	fprintf(pFile, "场地_green上限: %f\n", m_upper_Field[1]);
	fprintf(pFile, "场地_RGBTotal上限: %f\n", m_upper_Field[2]);

	fprintf(pFile, "\n");
	
	fprintf(pFile, "场地_red下限: %f\n", m_lower_Field[0]);
	fprintf(pFile, "场地_green下限: %f\n", m_lower_Field[1]);
	fprintf(pFile, "场地_RGBTotal下限: %f\n", m_lower_Field[2]);

	fclose(pFile);	
}

double CConfigDlg::ReadFile(FILE* pFile)
{
	char *endptr;
	char buffer[100];
	CString str;

	fscanf(pFile, "%s", buffer);
	fscanf(pFile, "%s", buffer);
	str = buffer;
	
	return strtod( str, &endptr );
}

void CConfigDlg::OnLoad() 
{
	FILE* pFile;

	pFile = fopen("sampling.txt", "r+");

	if(!pFile)
	{
		MessageBox("sampling文件无法打开!");
		return;
	}

	m_upper_MyTeamLable[0] = ReadFile(pFile);
	m_upper_MyTeamLable[1] = ReadFile(pFile);
	m_upper_MyTeamLable[2] = ReadFile(pFile);
	
	m_lower_MyTeamLable[0] = ReadFile(pFile);
	m_lower_MyTeamLable[1] = ReadFile(pFile);
	m_lower_MyTeamLable[2] = ReadFile(pFile);

	for(int i = 0; i < 5; i++)
	{
		m_upper_MyTeam[i][0] = ReadFile(pFile);
		m_upper_MyTeam[i][1] = ReadFile(pFile);
		m_upper_MyTeam[i][2] = ReadFile(pFile);
	
		m_lower_MyTeam[i][0] = ReadFile(pFile);	
		m_lower_MyTeam[i][1] = ReadFile(pFile);
		m_lower_MyTeam[i][2] = ReadFile(pFile);
	}

	m_upper_TheirTeamLable[0] = ReadFile(pFile);
	m_upper_TheirTeamLable[1] = ReadFile(pFile);
	m_upper_TheirTeamLable[2] = ReadFile(pFile);
	
	m_lower_TheirTeamLable[0] = ReadFile(pFile);
	m_lower_TheirTeamLable[1] = ReadFile(pFile);
	m_lower_TheirTeamLable[2] = ReadFile(pFile);

	for(i = 0; i < 5; i++)
	{
		m_upper_TheirTeam[i][0] = ReadFile(pFile);
		m_upper_TheirTeam[i][1] = ReadFile(pFile);
		m_upper_TheirTeam[i][2] = ReadFile(pFile);

		m_lower_TheirTeam[i][0] = ReadFile(pFile);
		m_lower_TheirTeam[i][1] = ReadFile(pFile);
		m_lower_TheirTeam[i][2] = ReadFile(pFile);
	}

	m_upper_Ball[0] = ReadFile(pFile);
	m_upper_Ball[1] = ReadFile(pFile);
	m_upper_Ball[2] = ReadFile(pFile);

	m_lower_Ball[0] = ReadFile(pFile);
	m_lower_Ball[1] = ReadFile(pFile);
	m_lower_Ball[2] = ReadFile(pFile);

	m_upper_Field[0] = ReadFile(pFile);
	m_upper_Field[1] = ReadFile(pFile);
	m_upper_Field[2] = ReadFile(pFile);

	m_lower_Field[0] = ReadFile(pFile);
	m_lower_Field[1] = ReadFile(pFile);
	m_lower_Field[2] = ReadFile(pFile);

	fclose(pFile);		
}

void CConfigDlg::OnButtonClearsample() 
{
	UpdateData(TRUE);
	
	for(int i = 0; i < 5; i++)
	{
		for(int j = 0; j < 3; j++)
		{
			if(i+1 == m_RadioSelectObject)
			{
				m_upper_MyTeam[i][j] = -1;
				m_lower_MyTeam[i][j] = 65535;
			}
			else if(7+i == m_RadioSelectObject)
			{
				m_upper_TheirTeam[i][j] = -1;
				m_lower_TheirTeam[i][j] = 65535;
			}
		}
	}

	for(i = 0; i < 3; i++)
	{
		if(12 == m_RadioSelectObject)
		{//球
			m_upper_Ball[i] = -1;
			m_lower_Ball[i] = 65535;
		}
		else if(0 == m_RadioSelectObject)
		{//我队标志
			m_upper_MyTeamLable[i] = -1;
			m_lower_MyTeamLable[i] = 65535;
		}	
		else if(6 == m_RadioSelectObject)
		{//他队标志
			m_upper_TheirTeamLable[i] = -1;
			m_lower_TheirTeamLable[i] = 65535;
		}
		else if(13 == m_RadioSelectObject)
		{//场地
			m_upper_Field[i] = -1;
			m_lower_Field[i] = 65535;
		}
	}	
}


⌨️ 快捷键说明

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