📄 dlgsetcapparam.cpp
字号:
// DlgSetCapParam.cpp : implementation file
//
#include "stdafx.h"
#include "videocapture.h"
#include "DlgSetCapParam.h"
#include "VideoCaptureView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgSetCapParam dialog
CDlgSetCapParam::CDlgSetCapParam(CWnd* pParent /*=NULL*/)
: CDialog(CDlgSetCapParam::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgSetCapParam)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDlgSetCapParam::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgSetCapParam)
DDX_Control(pDX, IDC_SPIN_SMALL_CAR, m_smallcar);
DDX_Control(pDX, IDC_SPIN_SPEED_MIN, m_minspeed);
DDX_Control(pDX, IDC_SPIN_SPEED, m_speed);
DDX_Control(pDX, IDC_SPIN_IMAGE, m_image);
DDX_Control(pDX, IDC_COMBO_POLICE, m_unit);
DDX_Control(pDX, IDC_COMBO_ROAD, m_road);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgSetCapParam, CDialog)
//{{AFX_MSG_MAP(CDlgSetCapParam)
ON_EN_CHANGE(IDC_EDIT_NUM_IMAGE, OnChangeEditNumImage)
ON_EN_CHANGE(IDC_EDIT_MAX_AVI, OnChangeEditMaxAvi)
ON_EN_CHANGE(IDC_EDIT_MAX_SPEED, OnChangeEditMaxSpeed)
ON_BN_CLICKED(IDC_CHECK_JPG, OnCheckJpg)
ON_BN_CLICKED(IDC_CHECK_ROAD, OnCheckRoad)
ON_CBN_CLOSEUP(IDC_COMBO_ROAD, OnCloseupComboRoad)
ON_CBN_CLOSEUP(IDC_COMBO_POLICE, OnCloseupComboPolice)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_IMAGE, OnDeltaposSpinImage)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SPEED, OnDeltaposSpinSpeed)
ON_EN_CHANGE(IDC_EDIT_MIN_SPEED, OnChangeEditMinSpeed)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SPEED_MIN, OnDeltaposSpinSpeedMin)
ON_BN_CLICKED(IDC_CHECK_MIN_SPEED, OnCheckMinSpeed)
ON_EN_CHANGE(IDC_SMALL_CAR_SPEED, OnChangeSmallCarSpeed)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SMALL_CAR, OnDeltaposSpinSmallCar)
ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
ON_EN_CHANGE(IDC_ROAD_BM, OnChangeRoadBm)
ON_BN_CLICKED(IDC_CHECK_ROAD2, OnCheckRoad2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgSetCapParam message handlers
BOOL CDlgSetCapParam::OnInitDialog()
{
CDialog::OnInitDialog();
try{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if(!pView)
return FALSE;
CString str;
str.Format("%d",pView->m_nNumBmp);
GetDlgItem(IDC_EDIT_NUM_IMAGE)->SetWindowText(str);
str.Format("%d",pView->m_videoLimited);
GetDlgItem(IDC_EDIT_MAX_AVI)->SetWindowText(str);
str.Format("%d",pView->m_iSpeed);
GetDlgItem(IDC_EDIT_MAX_SPEED)->SetWindowText(str);
if(pView->m_JPG)
((CButton*)GetDlgItem(IDC_CHECK_JPG))->SetCheck(TRUE);
// m_road.SetWindowText(pView->m_stationName);
if(pView->m_bSaveStation)
{
((CButton*)GetDlgItem(IDC_CHECK_ROAD))->SetCheck(BST_CHECKED);
// m_road.EnableWindow(TRUE);
}
else
{
((CButton*)GetDlgItem(IDC_CHECK_ROAD))->SetCheck(BST_UNCHECKED);
// m_road.EnableWindow(FALSE);
}
if(pView->m_bSaveWeizhang)
{
((CButton*)GetDlgItem(IDC_CHECK_ROAD2))->SetCheck(BST_CHECKED);
// m_road.EnableWindow(TRUE);
}
else
{
((CButton*)GetDlgItem(IDC_CHECK_ROAD2))->SetCheck(BST_UNCHECKED);
// m_road.EnableWindow(FALSE);
}
m_unit.SetWindowText(pView->m_szPoliceUint);
CString sDLBM,sDLMC;
int nPos=pView->m_szDLBM.Find("-",0);
sDLMC=pView->m_stationName;
if ( nPos>0 )
{
sDLBM=pView->m_szDLBM.Left(nPos);
sDLMC=pView->m_stationName;
}
GetDlgItem(IDC_ROAD_BM)->SetWindowText(sDLBM);
//初始化违章地点选择框
CADODataset * pRst=new CADODataset();
pRst->SetConnection(pView->pConn);
str="select dlbm,dlmc from dlbm order by dlbm asc";
pRst->Open(str,CADODataset::openQuery);
while (!pRst->IsEof()) {
pRst->GetFieldValue("dlmc",str);
m_road.AddString(str);
pRst->MoveNext();
}
pRst->Close();
delete pRst;
int iIndex=m_road.FindString(0,pView->m_stationName);
m_road.SetCurSel(iIndex);
CStdioFile* pTxtFile = new CStdioFile();
if(pTxtFile->Open(".\\Police.dat",CFile::modeRead | CFile::typeText))
{
CString str;
while(pTxtFile->GetPosition()<pTxtFile->GetLength())
{
pTxtFile->ReadString(str);
m_unit.AddString(str);
}
pTxtFile->Close();
}
delete pTxtFile;
str.Format("%d",pView->m_iSpeedDown);
GetDlgItem(IDC_EDIT_MIN_SPEED)->SetWindowText(str);
str.Format("%d",pView->m_iSpeedUp);
GetDlgItem(IDC_SMALL_CAR_SPEED)->SetWindowText(str);
((CButton*)GetDlgItem(IDC_CHECK_MIN_SPEED))->SetCheck(pView->m_bCapMinSpeed);
GetDlgItem(IDC_EDIT_MIN_SPEED)->EnableWindow(pView->m_bCapMinSpeed);
GetDlgItem(IDC_SPIN_SPEED_MIN)->EnableWindow(pView->m_bCapMinSpeed);
((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(pView->m_bCapSmallCarSpeed);
GetDlgItem(IDC_SMALL_CAR_SPEED)->EnableWindow(pView->m_bCapSmallCarSpeed);
GetDlgItem(IDC_SPIN_SMALL_CAR)->EnableWindow(pView->m_bCapSmallCarSpeed);
//设置微调按钮控件
m_image.SetRange(1,6);
m_speed.SetRange(21,250);
m_minspeed.SetRange(21,100);
m_smallcar.SetRange(30,250);
m_image.SetPos(pView->m_nNumBmp);
m_speed.SetPos(pView->m_iSpeed);
m_minspeed.SetPos(pView->m_iSpeedDown);
m_smallcar.SetPos(pView->m_iSpeedUp);
m_smallcar.SetBase(1);
}
catch (...) {
return FALSE;
WriteLog("初始化 抓拍参数设置对话框 失败!");
ShowMessage("初始化 抓拍参数设置对话框 失败!",MB_OK|MB_ICONERROR);
}
return TRUE;
}
//修改保存 连续抓拍图象数量
/***-------------------------------------------------------------------------------
控制连续抓拍 图像的数量
控制在1-6之间
-------------------------------------------------------------------------------***/
void CDlgSetCapParam::OnChangeEditNumImage()
{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if(!pView)
return;
CString text;
GetDlgItem(IDC_EDIT_NUM_IMAGE)->GetWindowText(text);
int a=atoi(text);
if(a>6)
{
a=6;
text.Format("%d",a);
GetDlgItem(IDC_EDIT_NUM_IMAGE)->SetWindowText(text);
}
pView->m_nNumBmp=a;
//保存参数
CString str;
str.Format("%d",pView->m_nNumBmp);
::WritePrivateProfileString("IMAGE","NUM",str,".\\config.ini");
m_image.SetPos(pView->m_nNumBmp);
}
//修改保存 单个视频文件大小限制
/***-------------------------------------------------------------------------------
控制视频大小限制
1-100之间
-------------------------------------------------------------------------------***/
void CDlgSetCapParam::OnChangeEditMaxAvi()
{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if(!pView)
return;
CString text;
GetDlgItem(IDC_EDIT_MAX_AVI)->GetWindowText(text);
int a=atoi(text);
if ( a>100)
{
a=10;
text.Format("%d",a);
GetDlgItem(IDC_EDIT_MAX_AVI)->SetWindowText(text);
}
pView->m_videoLimited=a;
::WritePrivateProfileString("IMAGE","MAXAVI",text,".\\config.ini");
}
//速度限制 框输入限制(0-250km/h)
void CDlgSetCapParam::OnChangeEditMaxSpeed()
{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if (!pView)
return;
CString text;
GetDlgItem(IDC_EDIT_MAX_SPEED)->GetWindowText(text);
int a=atoi(text);
pView->m_iSpeed=a;
if ( a>250)
{
a=120;
pView->m_iSpeed=a;
text.Format("%d",a);
GetDlgItem(IDC_EDIT_MAX_SPEED)->SetWindowText(text);
}
pView->pcsDlg->GetDlgItem(IDC_LIMITED_SPEED)->SetWindowText(text);
::WritePrivateProfileString("SYSTEM","MAXSPEED",text,".\\config.ini");
m_speed.SetPos(pView->m_iSpeed);
}
void CDlgSetCapParam::OnCheckJpg()
{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if (!pView)
return;
if(((CButton*)GetDlgItem(IDC_CHECK_JPG))->GetCheck()==BST_CHECKED)
pView->m_JPG=TRUE;
else
pView->m_JPG=FALSE;
}
/***-------------------------------------------------------------------------------
设置是否加上默认拍摄地址
-------------------------------------------------------------------------------***/
void CDlgSetCapParam::OnCheckRoad()
{
CVideoCaptureView* pView=CVideoCaptureView::GetView();
if (!pView)
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -