You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2024 lines
62 KiB
C++

2 years ago
// CH91PayloadSoftwareDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "CH91PayloadSoftware.h"
#include "CH91PayloadSoftwareDlg.h"
#include "afxdialogex.h"
#include "Global.h"
#include "GlobalMessage.h"
#include "GlobalMember.h"
#include "GetElevation.h"
#include <opencv2\opencv.hpp>
using namespace cv;
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3>򡰹<EFBFBD><F2A1B0B9>ڡ<EFBFBD><DAA1>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> CAboutDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
// ʵ<><CAB5>
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()
// CCH91PayloadSoftwareDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
CCH91PayloadSoftwareDlg::CCH91PayloadSoftwareDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CCH91PayloadSoftwareDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
// <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳ľ<CCB5><C4BE><EFBFBD><EFBFBD><EFBFBD>ID
m_hThread_ProcessData = NULL;
m_ThreadID_ProcessData = 0;
// <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳ľ<CCB5><C4BE><EFBFBD><EFBFBD><EFBFBD>ID
m_hThread_ProcessDataH264 = NULL;
m_ThreadID_ProcessDataH264 = 0;
//<2F><>ʾ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><E2BCB0><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
m_wndShowEO = nullptr; // EO
// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>
m_bMButtonDown = FALSE; // TRUE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD> FALSE: ̧<><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>
//<2F>غɿ<D8BA><C9BF>ơ<EFBFBD>״̬<D7B4><EFBFBD><E9BFB4><EFBFBD><EFBFBD>Ƶ<EFBFBD>طſ<D8B7><C5BF>ƶԻ<C6B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_ShowFJDataDlg = nullptr;
m_ShowReplayDlg = nullptr;
m_ShowDlgRecvDataFromQB = nullptr;
m_JoyStickControlDlg = nullptr;
//ͼ<><CDBC><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
m_bCaptureEOImg = false;
m_bCaptureIRImg = false;
// <20><>Ƶȫ<C6B5><C8AB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
m_bVideoShowFullScreen = FALSE;
g_bMapDirectGuide = FALSE; // <20>Ƿ<EFBFBD><C7B7>ǵ<EFBFBD>ͼֱ<CDBC>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>־
p_DlgCameraCtrl = NULL;
}
void CCH91PayloadSoftwareDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CCH91PayloadSoftwareDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_DESTROY()
ON_MESSAGE(WM_SHOW_CH96_INFO, CCH91PayloadSoftwareDlg::ShowMsgOnDlgEO)
ON_MESSAGE(WM_SHOW_IR_INFO, CCH91PayloadSoftwareDlg::ShowMsgOnDlgIR)
ON_MESSAGE(WM_SHOW_DC_INFO, CCH91PayloadSoftwareDlg::ShowMsgOnDlgDC)
ON_MESSAGE(WM_SHOW_GUIDE_AZIMUTH, CCH91PayloadSoftwareDlg::ShowGuideAzimuthOnDlg)
ON_MESSAGE(WM_SHOW_GUIDE_PITCH, CCH91PayloadSoftwareDlg::ShowGuidePitchOnDlg)
ON_MESSAGE(WM_SHOW_CTRL_INSTRUCTIONS, CCH91PayloadSoftwareDlg::ShowCtrlInstruction)
ON_MESSAGE(WM_SET_PAYLOAD_TYPE, CCH91PayloadSoftwareDlg::PayloadTypeSet)
ON_MESSAGE(WM_SETFOCUS_AFTERCONTROL, CCH91PayloadSoftwareDlg::SetFocusOnMainDlg)
ON_WM_MOUSEWHEEL()
ON_BN_CLICKED(IDC_BTN_SHOW_FJ, &CCH91PayloadSoftwareDlg::OnBnClickedBtnShowFj)
ON_BN_CLICKED(IDC_BTN_LOOKUP_RESULT, &CCH91PayloadSoftwareDlg::OnBnClickedBtnLookupResult)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_BTN_REPLAY, &CCH91PayloadSoftwareDlg::OnBnClickedBtnReplay)
ON_WM_MOUSEWHEEL()
ON_WM_ERASEBKGND()
ON_WM_MBUTTONDOWN()
ON_BN_CLICKED(IDC_BTN_MULTICASTSOCKETRECEIVE, &CCH91PayloadSoftwareDlg::OnBnClickedBtnMulticastsocketreceive)
ON_BN_CLICKED(IDC_BTN_CAPTURE_VIDEO, &CCH91PayloadSoftwareDlg::OnBnClickedBtnCaptureVideo)
ON_WM_ERASEBKGND()
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_WM_LBUTTONDBLCLK()
ON_WM_RBUTTONDOWN()
ON_WM_MBUTTONDOWN()
ON_WM_MOUSEMOVE()
ON_WM_MBUTTONUP()
END_MESSAGE_MAP()
// CCH91PayloadSoftwareDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ļн<C4BC>
void CALLBACK GetAngleProcAzimuth (double angle)
{
g_Guide_Azimuth = int(angle * 10) / 10.0f;
::SendMessage(g_mainDlgHwnd, WM_SHOW_GUIDE_AZIMUTH, WPARAM(0), LPARAM(0));
}
// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ļн<C4BC>
void CALLBACK GetAngleProcPitch (double angle)
{
g_Guide_Pitch = int(angle * 10) / 10.0f;
if (g_Guide_Pitch < 0)
{
g_Guide_Pitch += 360;
}
if (g_Guide_Pitch >= 80 && g_Guide_Pitch <= 200)
{
g_Guide_Pitch = 90 - g_Guide_Pitch;
::SendMessage(g_mainDlgHwnd, WM_SHOW_GUIDE_PITCH, WPARAM(0), LPARAM(0));
}
}
LRESULT CCH91PayloadSoftwareDlg::ShowGuideAzimuthOnDlg(WPARAM wParam, LPARAM lParam)
{
m_Guide_Azimuth = g_Guide_Azimuth;
UpdateData(FALSE);
return 0;
}
LRESULT CCH91PayloadSoftwareDlg::ShowGuidePitchOnDlg(WPARAM wParam, LPARAM lParam)
{
m_Guide_Pitch = g_Guide_Pitch;
UpdateData(FALSE);
return 0;
}
// <20><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ָ<EFBFBD><D6B8>֮<EFBFBD>󣬽<EFBFBD><F3A3ACBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT CCH91PayloadSoftwareDlg::SetFocusOnMainDlg(WPARAM wParam, LPARAM lParam)
{
// <20><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
GetDlgItem(IDC_BTN_REPLAY)->SetFocus();
return 0;
}
BOOL CCH91PayloadSoftwareDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<2E><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ϵͳ<CFB5>˵<EFBFBD><CBB5>С<EFBFBD>
// IDM_ABOUTBOX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>Χ<EEB7B6>ڡ<EFBFBD>
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// <20><><EFBFBD>ô˶Ի<CBB6><D4BB><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EAA1A3>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ǶԻ<C7B6><D4BB><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD>Զ<EFBFBD>
// ִ<>д˲<D0B4><CBB2><EFBFBD>
SetIcon(m_hIcon, TRUE); // <20><><EFBFBD>ô<EFBFBD>ͼ<EFBFBD><CDBC>
SetIcon(m_hIcon, FALSE); // <20><><EFBFBD><EFBFBD>Сͼ<D0A1><CDBC>
g_IsSending = FALSE;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲥ͨ<E9B2A5><CDA8><EFBFBD><EFBFBD> -- ypf
if (g_MUDPCamera.IsSerializable())
{
g_MUDPCamera.LeaveGroup();
}
else
{
if (!g_MUDPCamera.InitGroup("224.1.1.1",60000,5,FALSE))
{
MessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>");
}
g_IsSending = TRUE;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF>ļ<EFBFBD><C4BC><EFBFBD>
CString sRootDir = GetSoftwareCurrentDirectory() + "\\Result";
CreateDirectoryA(sRootDir, NULL);
// <20><><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CString sRootDir_dat = GetSoftwareCurrentDirectory() + "\\Result\\Payload Receive";
CreateDirectoryA(sRootDir_dat, NULL);
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CString sRootDir_h264 = GetSoftwareCurrentDirectory() + "\\Result\\VideoData";
CreateDirectoryA(sRootDir_h264, NULL);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
DlgLanguageSet();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SetWindowText(_T("FH-98<39><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ϵͳ"));
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>, <20><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD>ݣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .tx<74><78>
CTime tm = CTime::GetCurrentTime();
CString str_DataTime;
str_DataTime.Format(_T("FH98_SoftwareReceive_%04d%02d%02d_%02d%02d%02d.tx"), tm.GetYear(), tm.GetMonth(), tm.GetDay(), tm.GetHour(), tm.GetMinute(), tm.GetSecond());//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>в<EFBFBD><D0B2>ܳ<EFBFBD><DCB3><EFBFBD>ð<EFBFBD><C3B0>
CString path = GetSoftwareCurrentDirectory() + "\\Result\\Payload Receive\\" + str_DataTime;
g_DataSavePath = path;
fopen_s(&g_pFileSaveCH96txData, path, _T("ab"));
str_DataTime.Format(_T("FH98_SoftwareReceive_%04d%02d%02d_%02d%02d%02d.h264"), tm.GetYear(), tm.GetMonth(), tm.GetDay(), tm.GetHour(), tm.GetMinute(), tm.GetSecond());//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>в<EFBFBD><D0B2>ܳ<EFBFBD><DCB3><EFBFBD>ð<EFBFBD><C3B0>
path = GetSoftwareCurrentDirectory() + "\\Result\\Payload Receive\\" + str_DataTime;
fopen_s(&g_pFileSaveVideoH264Data, path, _T("ab"));
// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>
g_mainDlgHwnd = GetSafeHwnd();
// <20><>ʾFJ<46><4A><EFBFBD><EFBFBD>
m_ShowFJDataDlg = new CShowFJDataDlg();
if (m_ShowFJDataDlg != NULL)
{
m_ShowFJDataDlg->Create(IDD_DLG_SHOW_FJ_DATA, this);
}
// <20><>ʾ<EFBFBD>鱨ϯλĿ<CEBB>궨λ<EAB6A8>Ի<EFBFBD><D4BB><EFBFBD>
m_ShowDlgRecvDataFromQB = new CDlgRecvDataFromQB();
if (m_ShowDlgRecvDataFromQB != NULL)
{
m_ShowDlgRecvDataFromQB->Create(IDD_DLG_RECVFROMQB, this);
}
// <20><>ʾ<EFBFBD><EFBFBD><E9B2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
m_MulticastSocketReceiveDlg = new CMulticastSocketReceiveDlg();
if (m_MulticastSocketReceiveDlg != NULL)
{
m_MulticastSocketReceiveDlg->Create(IDD_DLG_MULTICASTSOCKETRECEIVE, this);
}
// <20><><EFBFBD><EFBFBD>ҡ<EFBFBD>˿<EFBFBD><CBBF>ƶԻ<C6B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>
m_JoyStickControlDlg = new CJoyStickControlDlg();
if (m_JoyStickControlDlg != NULL)
{
m_JoyStickControlDlg->Create(IDD_DLG_JOYSTICKCONTROL, this);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
//GetDlgItem(IDC_STATIC_COMMANDSEND) -> SetWindowText(g_str_CommandSend);
//GetDlgItem(IDC_STATIC_COMMANDRESPONSE) -> SetWindowText(g_str_CommandResponse);
//GetDlgItem(IDC_STATIC_STATE) -> SetWindowText(g_str_State);
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
OnInitControlDlg();
// <20><>ʾ<EFBFBD><CABE>Ƶ<EFBFBD>طſ<D8B7><C5BF>ƴ<EFBFBD><C6B4><EFBFBD>
m_ShowReplayDlg = new CShowReplayDlg();
if (m_ShowReplayDlg != NULL)
{
m_ShowReplayDlg->Create(IDD_DLG_REPLAY, this);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_hMutex_ProcessDataCH96 = CreateMutexA(NULL, FALSE, NULL);
g_hMutex_SaveFJData = CreateMutexA(NULL,FALSE, NULL);
g_hMutex_ShowFJData = CreateMutexA(NULL, FALSE, NULL);
g_hMutex_DisplayVideoCH96 = CreateMutexA(NULL, FALSE, NULL);
g_hMutex_ProcessDataH264 = CreateMutexA(NULL, FALSE, NULL);
// <20>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>
OnInitCH96Decoder();
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC>
// <20>߳̿<DFB3>ʼִ<CABC><D6B4>
g_bProcessDataFlag = true;
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̲߳<DFB3><CCB2><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD><D0A3>ڸ<EFBFBD><DAB8>߳<EFBFBD><DFB3>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>ʾҳ<CABE>
m_hThread_ProcessData = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)ProcessCH96Data,
nullptr, // <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
0, // <20>̴߳<DFB3><CCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B1BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
&m_ThreadID_ProcessData);
//<2F>߳̿<DFB3>ʼִ<CABC><D6B4>
g_bProcessDataSocketFlag = true;
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̲߳<DFB3><CCB2><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD><D0A3>ڸ<EFBFBD><DAB8>߳<EFBFBD><DFB3>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>ʾҳ<CABE>
m_hThread_ProcessDataH264 = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)ProcessH264VideoData,
nullptr, // <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
0, // <20>̴߳<DFB3><CCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B1BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
&m_ThreadID_ProcessDataH264);
// <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ƶ
SetTimer(1, 30, nullptr);
// <20>ж<EFBFBD><D0B6><EFBFBD>ռ<EFBFBD><D5BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
CString root = GetSoftwareCurrentDirectory();
CString disk = root.Left(1);
if(GetFreeVolumeLen(disk.GetBuffer(0)) < 10) // 10G
{
::MessageBoxA(NULL, g_str_WarningStorage, g_str_WarningTitle, MB_OK);
}
// <20><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ShowWindow(SW_SHOWMAXIMIZED);
// <20><><EFBFBD>öԻ<C3B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DlgStyleChange();
/*
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ն<EFBFBD>
// <20><><EFBFBD><EFBFBD>IP<49>Ͷ˿ڰ<CBBF><DAB0><EFBFBD>
CString fileSysName = GetSoftwareCurrentDirectory()+ "\\ini\\" + "config.ini";
char LocalIp1[20];
unsigned int LocalPort1 = 0; //<2F><><EFBFBD>ض˿<D8B6>
char RemoteIp1[20];
unsigned int RemotePort1 = 0; //<2F>Է<EFBFBD><D4B7>˿<EFBFBD>
GetPrivateProfileString("UDPInfo_SEND2MOBILE", "UDPRemoteIP ", "0", RemoteIp1, 20, fileSysName);
GetPrivateProfileString("UDPInfo_SEND2MOBILE", "UDPLocalIP", "0", LocalIp1, 20, fileSysName);
RemotePort1 = GetPrivateProfileInt("UDPInfo_SEND2MOBILE", "UDPRemotePort", 0, fileSysName);
LocalPort1 = GetPrivateProfileInt("UDPInfo_SEND2MOBILE", "UDPLocalPort", 0, fileSysName);
assert(LocalPort1 != 0 && RemotePort1 != 0);
g_bCreatSend2Mobile = g_UdpSend2Mobile.StartListening(LocalIp1, LocalPort1, RemoteIp1, RemotePort1);
*/
return TRUE;
}
// <20><><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
LRESULT CCH91PayloadSoftwareDlg::PayloadTypeSet(WPARAM wParam, LPARAM lParam)
{
return 0;
}
// <20><>Tabҳ<62><D2B3><EFBFBD><EFBFBD>ʾ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>
void CCH91PayloadSoftwareDlg::OnInitControlDlg()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CRect rc_ControlInstruction;
GetDlgItem(IDC_STATIC_CONTROLINSTRUCTION_FH96)->GetWindowRect(rc_ControlInstruction);
ScreenToClient(rc_ControlInstruction);
/*m_CControlDlgFH96Page1Dlg = new CControlDlgFH96Page1();
if (m_CControlDlgFH96Page1Dlg != NULL)
{
m_CControlDlgFH96Page1Dlg->Create(IDD_DLG_CONTROL_96_1, this);
}
m_CControlDlgFH96Page1Dlg->MoveWindow(&rc_ControlInstruction);
m_CControlDlgFH96Page1Dlg->ShowWindow(SW_SHOW);*/
p_DlgCameraCtrl = new CDlgCameraCtrl();
if (p_DlgCameraCtrl != NULL)
{
p_DlgCameraCtrl->Create(IDD_DLG_CAMERA_CTRL, this);
}
p_DlgCameraCtrl->MoveWindow(&rc_ControlInstruction);
p_DlgCameraCtrl->ShowWindow(SW_SHOW);
}
// <20>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>
void CCH91PayloadSoftwareDlg::OnInitCH96Decoder()
{
// <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
GetDlgItem(IDC_STATIC_EO_REGION)->GetWindowRect(rect_SmallRegion);
ScreenToClient(rect_SmallRegion);
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->GetWindowRect(rect_BigRegion);
ScreenToClient(rect_BigRegion);
// CH96<39><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString fileSysName = GetSoftwareCurrentDirectory()+ "\\ini\\" + "config.ini";
char ComputerConfiguration[20];
GetPrivateProfileString("COMPUTER_CONFIGURATION", "ComputerConfiguration ", "0", ComputerConfiguration, 20, fileSysName);
CString str_ComputerConfiguration = ComputerConfiguration;
if (str_ComputerConfiguration == "HIGH")
{
g_bGoodComputer = TRUE;
}
else if (str_ComputerConfiguration == "LOW")
{
g_bGoodComputer = FALSE;
}
else
{
MessageBoxA(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>Զ<EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
g_bGoodComputer = TRUE;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (g_bGoodComputer != FALSE)
{
if (m_wndShowEO == NULL)
{
m_wndShowEO = new CExportSimpleImgShow();
}
if (g_mainDlgHwnd != NULL && m_wndShowEO != NULL)
{
m_wndShowEO->CreateWnd(g_mainDlgHwnd);
CRect rect;
GetDlgItem(IDC_STATIC_EO_REGION)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_wndShowEO->MoveWnd(rect);
m_wndShowEO->ShowWnd(SW_SHOW);
m_wndShowEO->SetCallBackFun(GetEOImgCenterOffset);
m_wndShowEO->SetCallBackFun(GetEOIRImgRightButtonDown);
m_wndShowEO->SetCallBackFun(GetDistRatioAndAngleThroughImg);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_CH96_h264decoder = DecoderFactory::CreateDecoder();
if (g_CH96_h264decoder != nullptr)
{
g_CH96_h264decoder->init(1920, 1080, 0, 0, 2);
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ沢<DAB4><E6B2A2><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
g_CH96_h264decoder->setDecodingCallback(CH96_h264DecodeResultCallbackFun);
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýϵͣ<CFB5><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪӲ<CEAA><D3B2><EFBFBD>룬ͬʱ<CDAC><CAB1>ͼƬֱ<C6AC>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ڿؼ<DABF><D8BC><EFBFBD>
else
{
// Ӳ<><D3B2><EFBFBD><EFBFBD>
g_CH96_h264decoder = DecoderFactory::CreateDecoder(DEC_HARDWARE);
if (g_CH96_h264decoder != nullptr)
{
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
g_CH96_h264decoder->init(1920, 1080, 0, 0, 2, GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->GetSafeHwnd());
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ沢<DAB4><E6B2A2><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
g_CH96_h264decoder->setDecodingCallback(CH96_h264DecodeResultCallbackFun);
// <20>ı<EFBFBD><C4B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->SetWindowPos(NULL ,0, 0, rect_SmallRegion.Width(), rect_SmallRegion.Height(), SWP_NOZORDER);
}
}
}
void CCH91PayloadSoftwareDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialogEx::OnSysCommand(nID, lParam);
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD>ͼ<EFBFBD><EFBFBD><EAA1A3><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ĵ<EFBFBD>/<2F><>ͼģ<CDBC>͵<EFBFBD> MFC Ӧ<>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
// <20><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ɡ<EFBFBD>
void CCH91PayloadSoftwareDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // <20><><EFBFBD>ڻ<EFBFBD><DABB>Ƶ<EFBFBD><C6B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// ʹͼ<CAB9><CDBC><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD>
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialogEx::OnPaint();
}
}
//<2F><><EFBFBD>û<EFBFBD><C3BB>϶<EFBFBD><CFB6><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱϵͳ<CFB5><CDB3><EFBFBD>ô˺<C3B4><CBBA><EFBFBD>ȡ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
//<2F><>ʾ<EFBFBD><CABE>
HCURSOR CCH91PayloadSoftwareDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CCH91PayloadSoftwareDlg::OnDestroy()
{
CDialogEx::OnDestroy();
//<2F>رջ<D8B1><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEB7A2>
if (g_MUDPCamera.IsSerializable())
{
g_MUDPCamera.SetReadCallBack(NULL,NULL);
g_MUDPCamera.LeaveGroup();
g_IsSending = FALSE;
}
// <20>ر<EFBFBD>ProcessData<74>߳<EFBFBD>
g_bProcessDataFlag = false;
g_bProcessDataSocketFlag = false;
// <20>رմ洢<D5B4>ļ<EFBFBD>
if (g_pFileSaveCH96txData != NULL)
{
fclose(g_pFileSaveCH96txData);
g_pFileSaveCH96txData = NULL;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>СΪ0<CEAA><30><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
CFileStatus m_Status; // <20>ļ<EFBFBD><C4BC><EFBFBD><E1B9B9>
if (CFile::GetStatus(g_DataSavePath, m_Status))
{
if (m_Status.m_size == 0)
{
DeleteFile(g_DataSavePath);
}
}
}
// <20>رմ洢<D5B4>ļ<EFBFBD>
if (g_pFileSaveVideoDataCH96 != NULL)
{
fclose(g_pFileSaveVideoDataCH96);
g_pFileSaveVideoDataCH96 = NULL;
}
// <20>رմ洢<D5B4>ļ<EFBFBD>
if (g_pFileSaveVideoH264Data != NULL)
{
fclose(g_pFileSaveVideoH264Data);
g_pFileSaveVideoH264Data = NULL;
}
// <20>ͷ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
if (m_wndShowEO != nullptr)
{
m_wndShowEO->DestroyWnd();
m_wndShowEO = NULL;
}
if (m_ShowReplayDlg != NULL)
{
delete m_ShowReplayDlg;
m_ShowReplayDlg = nullptr;
}
if (m_ShowFJDataDlg != NULL)
{
delete m_ShowFJDataDlg;
m_ShowFJDataDlg = nullptr;
}
if (m_ShowDlgRecvDataFromQB != NULL)
{
delete m_ShowDlgRecvDataFromQB;
m_ShowDlgRecvDataFromQB = nullptr;
}
// ж<>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD>
if (g_CH96_h264decoder != nullptr)
{
DecoderFactory::DestroyDecoder(g_CH96_h264decoder);
}
// ж<><D0B6><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
m_JoyKeybord.OnDestoryJoyKeybord();
if(p_DlgCameraCtrl)
{
delete p_DlgCameraCtrl;
p_DlgCameraCtrl = NULL;
}
}
// <20><>ʾ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>ͼ<EFBFBD>񸴽<EFBFBD><F1B8B4BD><EFBFBD>Ϣ
LRESULT CCH91PayloadSoftwareDlg::ShowMsgOnDlgEO(WPARAM wParam, LPARAM lParam)
{
//ShowImgFJData();
return 0;
}
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ͼ<EFBFBD>񸴽<EFBFBD><F1B8B4BD><EFBFBD>Ϣ
LRESULT CCH91PayloadSoftwareDlg::ShowMsgOnDlgIR(WPARAM wParam, LPARAM lParam)
{
// <20><>ʾͼ<CABE>񸴽<EFBFBD><F1B8B4BD><EFBFBD>Ϣ
//ShowImgFJData();
return 0;
}
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT CCH91PayloadSoftwareDlg::ShowMsgOnDlgDC(WPARAM wParam, LPARAM lParam)
{
// <20><>ʾͼ<CABE>񸴽<EFBFBD><F1B8B4BD><EFBFBD>Ϣ
//ShowImgFJData();
return 0;
}
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::ShowImgFJData()
{
if (m_ShowFJDataDlg != nullptr)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>ʾCH96<39><36><EFBFBD><EFBFBD>
m_ShowFJDataDlg->ShowCH96FJData(g_CH96TransFJData);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>궨λ
if (g_CH96QBData.bValid == true) // ֻҪ<D6BB><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD><EFBFBD>λ
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ
PushToFrameDataDeque(g_CH96QBData);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEB2A2>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//GetDlgItem(IDC_EDIT_BACKSWITCHINSTRUCTION)->SetWindowText(TranlateBackSwitchInstructions(g_CH96TransFJData.SwitchCmd));
//<2F><><EFBFBD><EFBFBD><EFBFBD>غɹ<D8BA><C9B9><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ZHWorkState(g_CH96TransFJData.Status1 & 0x40, g_CH96TransFJData.Status2, g_CH96TransFJData.LaserState & 0x01);
}
}
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::OnBnClickedBtnShowFj()
{
if (m_ShowFJDataDlg != NULL)
{
if (TRUE == m_ShowFJDataDlg->IsWindowVisible())
{
m_ShowFJDataDlg->ShowWindow(SW_HIDE);
}
else
{
m_ShowFJDataDlg->ShowWindow(SW_SHOW);
}
}
}
//<2F><>ʾ<EFBFBD>غɻط<C9BB><D8B7><EFBFBD><EFBFBD>ݶԻ<DDB6><D4BB><EFBFBD>
void CCH91PayloadSoftwareDlg::OnBnClickedBtnReplay()
{
if(m_ShowReplayDlg != NULL)
{
if (TRUE == m_ShowReplayDlg->IsWindowVisible())
{
m_ShowReplayDlg->ShowWindow(SW_HIDE);
}
else
{
m_ShowReplayDlg->ShowWindow(SW_SHOW);
}
}
}
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT CCH91PayloadSoftwareDlg::ShowCtrlInstruction(WPARAM wParam, LPARAM lParam)
{
//GetDlgItem(IDC_EDIT_CTRLINSTRUCTIONS)->SetWindowText(g_sCtrlInstruction);
return 0;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
CString CCH91PayloadSoftwareDlg::TranlateBackSwitchInstructions(UINT8 switchInstruction)
{
static CString sInstruction;
//***********************************ͨ<><CDA8>ָ<EFBFBD><D6B8><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>****************************//
if (0x00 == switchInstruction) // <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>
{
//sInstruction = "<22>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x15 == switchInstruction) // <20><><EFBFBD><EFBFBD>ģʽ
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ";
}
else if (0x17 == switchInstruction) // ɨ<><C9A8>ģʽ
{
sInstruction = "ɨ<EFBFBD><EFBFBD>ģʽ";
}
else if (0x19 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x1B == switchInstruction) // ƽ̨<C6BD><CCA8>λ
{
sInstruction = "ƽ̨<EFBFBD><EFBFBD>λ";
}
else if (0x1D == switchInstruction) // <20><>Ư<EFBFBD><C6AF>λ-
{
sInstruction = "<EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD>λ-";
}
else if (0x1F == switchInstruction) // <20><>Ư<EFBFBD><C6AF>λ+
{
sInstruction = "<EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD>λ+";
}
else if (0x21 == switchInstruction) // <20><>Ư<EFBFBD><C6AF><EFBFBD><EFBFBD>-
{
sInstruction = "<EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-";
}
else if (0x23 == switchInstruction) // <20><>Ư<EFBFBD><C6AF><EFBFBD><EFBFBD>+
{
sInstruction = "<EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+";
}
else if (0x25 == switchInstruction) // <20>ֶ<EFBFBD>ģʽ
{
sInstruction = "<EFBFBD>ֶ<EFBFBD>ģʽ";
}
else if (0x27 == switchInstruction) // <20><><EFBFBD><EFBFBD>ģʽ
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ";
}
else if (0x81 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x82 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x85 == switchInstruction) // <20><><EFBFBD><EFBFBD>+
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+";
}
else if (0x86 == switchInstruction) // <20><><EFBFBD><EFBFBD>-
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-";
}
else if (0x87 == switchInstruction) // <20><><EFBFBD><EFBFBD>С<EFBFBD>ӳ<EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ӳ<EFBFBD>";
}
else if (0x89 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>";
}
else if (0xA1 == switchInstruction) // OSD on/off
{
sInstruction = "OSD ON/OFF";
}
else if (0xA3 == switchInstruction) // ͼ<><CDBC><EFBFBD>л<EFBFBD>
{
sInstruction = "ͼ<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>";
}
else if (0xB5 == switchInstruction) // <20><><EFBFBD>л<EFBFBD><D0BB><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xB6 == switchInstruction) // <20><><EFBFBD>л<EFBFBD><D0BB><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xB7 == switchInstruction) // ͼ<><CDBC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>
{
sInstruction = "ͼ<EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xB8 == switchInstruction) // ͼ<><CDBC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>
{
sInstruction = "ͼ<EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xBB == switchInstruction) // <20>ɼ<EFBFBD><C9BC><EFBFBD>͸<EFBFBD><CDB8>1
{
sInstruction = "<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD>1";
}
else if (0xBC == switchInstruction) // <20>ɼ<EFBFBD><C9BC><EFBFBD>͸<EFBFBD><CDB8>2
{
sInstruction = "<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD>2";
}
else if (0xBD == switchInstruction) // <20>ɼ<EFBFBD><C9BC><EFBFBD>͸<EFBFBD><CDB8>3
{
sInstruction = "<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD>3";
}
else if (0xBE == switchInstruction) // <20>ɼ<EFBFBD><C9BC><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xC1 == switchInstruction) // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xC3 == switchInstruction) // ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
{
sInstruction = "ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0xC6 == switchInstruction) // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x91 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x92 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else if (0x93 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>";
}
else if (0x94 == switchInstruction) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
{
sInstruction = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>";
}
return sInstruction;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>غɹ<D8BA><C9B9><EFBFBD>״̬
void CCH91PayloadSoftwareDlg::ZHWorkState(UINT8 CurrentImgType, UINT8 SystemState, UINT8 LaserState)
{
CString workState_Show;
CString SystemState_Show; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString LaserState_Show; //<2F><><EFBFBD><EFBFBD>״̬
CString LaserDistance_Show;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>ǰͼ<C7B0><CDBC>״̬
if(1 == CurrentImgType)
{
str_CurrentImgType = "IRͼ<EFBFBD><EFBFBD>";
}
else
{
str_CurrentImgType = "EOͼ<EFBFBD><EFBFBD>";
}
//<2F>ŷ<EFBFBD>״̬
if (0x00 == SystemState)
{
SystemState_Show = "<EFBFBD>ֶ<EFBFBD>״̬";
}
else if (0x01 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬";
}
else if (0x02 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬";
}
else if (0x03 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬";
}
else if (0x04 == SystemState)
{
SystemState_Show = "ɨ<EFBFBD><EFBFBD>״̬";
}
else if (0x05 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬";
}
else if (0x07 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>";
}
else if (0x08 == SystemState)
{
SystemState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬";
}
else
{
SystemState_Show = "N/A<>";
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (1 == LaserState)
{
LaserState_Show = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else
{
LaserState_Show = "<EFBFBD><EFBFBD><EFBFBD>";
}
LaserDistance_Show.Format("%d",g_CH96TransFJData.LaserDis);
//GetDlgItem(IDC_EDIT_CURRENTIMGTYPE)->SetWindowText(str_CurrentImgType);
//GetDlgItem(IDC_EDIT_WORKSTATE)->SetWindowText(SystemState_Show);
//GetDlgItem(IDC_EDIT_LaserState)->SetWindowText(LaserState_Show + "<22><>" + LaserDistance_Show);
}
// <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʾ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
void CCH91PayloadSoftwareDlg::OnBnClickedBtnLookupResult()
{
// <20><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
char exeFullPath[MAX_PATH];
GetModuleFileName(NULL, exeFullPath, MAX_PATH);
CString Directy;
Directy.Format("%s", exeFullPath);
int index = Directy.ReverseFind('\\');
Directy.Delete(index, Directy.GetLength() - index);
Directy = Directy + "\\Result";
ShellExecute(NULL, NULL, Directy, NULL, NULL, SW_SHOW);
}
void CCH91PayloadSoftwareDlg::ShowEOImg(cv::Mat img)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>ͼ<EFBFBD><CDBC>
if (img.empty() == false && img.cols == 1920 && img.rows == 1080 && img.type() == CV_8UC3 )
{
BITMAPINFO info;
info.bmiHeader.biBitCount = 24;
info.bmiHeader.biHeight = 1080;
info.bmiHeader.biWidth = 1920;
cv::flip(img, img, 0);
m_wndShowEO->ShowImage(&info, img.data);
}
}
BOOL CCH91PayloadSoftwareDlg::PreTranslateMessage(MSG* pMsg)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if (pMsg->message == WM_KEYDOWN)
{
// <20><><EFBFBD><EFBFBD>ESC<53>ͻس<CDBB><D8B3><EFBFBD>
if (pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)
{
return TRUE;
}
// F1<46><31><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>ʾ/<2F><><EFBFBD><EFBFBD>
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(pMsg->wParam == VK_F1)
{
if (TRUE == m_ShowReplayDlg->IsWindowVisible())
{
m_ShowReplayDlg->ShowWindow(SW_HIDE);
}
else
{
m_ShowReplayDlg->ShowWindow(SW_SHOW);
}
}
// F2<46><32><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>״̬<D7B4><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>ʾ/<2F><><EFBFBD><EFBFBD>
if(pMsg->wParam == VK_F2)
{
if (TRUE == m_ShowFJDataDlg->IsWindowVisible())
{
m_ShowFJDataDlg->ShowWindow(SW_HIDE);
}
else
{
m_ShowFJDataDlg->ShowWindow(SW_SHOW);
}
}
// F3<46><33><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><E9B2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(pMsg->wParam == VK_F3)
{
if (TRUE == m_MulticastSocketReceiveDlg->IsWindowVisible())
{
m_MulticastSocketReceiveDlg->ShowWindow(SW_HIDE);
}
else
{
m_MulticastSocketReceiveDlg->ShowWindow(SW_SHOW);
}
}
// F5<46><35><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD>Ƶ¼<C6B5>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD>
if (pMsg -> wParam == VK_F5)
{
OnBnClickedBtnCaptureVideo();
}
// F6<46><36><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (pMsg -> wParam == VK_F6)
{
OnBnClickedBtnLookupResult();
}
// Ctrl + 1<><31><EFBFBD>ơ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (pMsg -> wParam == '1')
{
VideoShowFullScreenONOFF();
// if (::GetKeyState(VK_CONTROL) < 0)
// {
// VideoShowFullScreenONOFF();
// }
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
return CDialogEx::PreTranslateMessage(pMsg);
}
void CCH91PayloadSoftwareDlg::OnTimer(UINT_PTR nIDEvent)
{
// <20><>ʱ<EFBFBD><CAB1>1<EFBFBD><31>ʾ<EFBFBD><CABE>Ƶ
if (nIDEvent == 1)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ýϵ͵<CFB5><CDB5>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2A2>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
if (g_bGoodComputer != FALSE)
{
// <20><>ʾ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>
WaitForSingleObject(g_hMutex_DisplayVideoCH96, INFINITE); //ȡ<>ɼ<EFBFBD><C9BC><EFBFBD>ͼ<EFBFBD>񻥳<EFBFBD><F1BBA5B3><EFBFBD><EFBFBD><EFBFBD>
if (g_CH96VideoDeque.empty() == false)
{
cv::Mat localEO;
localEO = g_CH96VideoDeque.front();
std::deque<cv::Mat>::iterator iter;
iter = g_CH96VideoDeque.begin();
iter->data = nullptr;
g_CH96VideoDeque.pop_front();
ReleaseMutex(g_hMutex_DisplayVideoCH96);
ShowEOImg(localEO);
if (g_bCaptureImg == true || g_bRun == TRUE)
{
g_QB.image.bValid = true;
g_QB.image.srcImg.bitcount = 24;
g_QB.image.srcImg.ImgWidth = localEO.cols;
g_QB.image.srcImg.ImgHeight = localEO.rows;
g_QB.framePart = g_CH96QBData;
if (localEO.type() == CV_8UC1)
{
g_QB.image.srcImg.bitcount = 8;
}
if (g_QB.image.srcImg.buff != nullptr)
{
delete [] g_QB.image.srcImg.buff;
g_QB.image.srcImg.buff = nullptr;
}
int bufferSize = g_QB.image.srcImg.ImgWidth * g_QB.image.srcImg.ImgHeight * g_QB.image.srcImg.bitcount / 8;
g_QB.image.srcImg.buff = new unsigned char[bufferSize];
memcpy(g_QB.image.srcImg.buff, localEO.data, bufferSize);
}
if (g_bCaptureImg == true)
{
g_bCaptureImg = false;
::SendMessageA(g_mapMatchDlg, WM_CAPTURE_IMG_WHEN_MAPMATCH, WPARAM(0), LPARAM(0));
}
if (g_bRun == TRUE)
{
cv::Mat img;
cv::flip(localEO, img, 0);
int bufferSize = g_QB.image.srcImg.ImgWidth * g_QB.image.srcImg.ImgHeight * g_QB.image.srcImg.bitcount / 8;
memcpy(g_QB.image.srcImg.buff, img.data, bufferSize);
// <20>̻߳<DFB3><CCBB><EFBFBD>
WaitForSingleObject(g_hMutex_ImgStitch, INFINITE);
QBStru local;
CloneQBData(&g_QB, &local);
if(g_StitchImgDeque.size() >= 2)
{
std::deque<QBStru>::iterator iter;
iter = g_StitchImgDeque.begin();
// <20>ͷ<EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
SAFE_DELETE_ARRAY(iter->image.srcImg.buff);
SAFE_DELETE_ARRAY(iter->image.dstImg.buff);
SAFE_DELETE_ARRAY(iter->image.geoImg.buff);
g_StitchImgDeque.pop_front();
}
g_StitchImgDeque.push_back(local);
local.image.srcImg.buff = nullptr;
local.image.dstImg.buff = nullptr;
local.image.geoImg.buff = nullptr;
ReleaseMutex(g_hMutex_ImgStitch);
}
}
else
{
ReleaseMutex(g_hMutex_DisplayVideoCH96);
}
}
}
CDialogEx::OnTimer(nIDEvent);
}
// ͼ<><CDBC><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD>л<EFBFBD>
void CCH91PayloadSoftwareDlg::VideoShowFullScreenONOFF()
{
if (m_bVideoShowFullScreen == FALSE)
{
m_bVideoShowFullScreen = TRUE;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
HWND hwndChild = ::GetWindow(g_mainDlgHwnd, GW_CHILD);
while (hwndChild)
{
CWnd::FromHandle(hwndChild)->ShowWindow(FALSE);
hwndChild = ::GetWindow(hwndChild, GW_HWNDNEXT);
}
// <20>ı<EFBFBD><C4B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (g_bGoodComputer != FALSE)
{
// ȫ<><C8AB><EFBFBD><EFBFBD>ʾ
CRect rect;
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_wndShowEO->MoveWnd(rect);
m_wndShowEO->ShowWnd(SW_SHOW);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else
{
// ȫ<><C8AB><EFBFBD><EFBFBD>ʾ
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->SetWindowPos(NULL ,0, 0, rect_BigRegion.Width(), rect_BigRegion.Height(), SWP_NOZORDER);
// <20><>ʾ<EFBFBD>ؼ<EFBFBD>
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->ShowWindow(TRUE);
}
}
else
{
m_bVideoShowFullScreen = FALSE;
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
HWND hwndChild = ::GetWindow(g_mainDlgHwnd, GW_CHILD);
while (hwndChild)
{
CWnd::FromHandle(hwndChild)->ShowWindow(TRUE);
hwndChild = ::GetWindow(hwndChild, GW_HWNDNEXT);
}
// <20>ı<EFBFBD><C4B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (g_bGoodComputer != FALSE)
{
// <20>ֲ<EFBFBD><D6B2><EFBFBD>ʾ
CRect rect;
GetDlgItem(IDC_STATIC_EO_REGION)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_wndShowEO->MoveWnd(rect);
m_wndShowEO->ShowWnd(SW_SHOW);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else
{
// <20>ֲ<EFBFBD><D6B2><EFBFBD>ʾ
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->SetWindowPos(NULL ,0, 0, rect_SmallRegion.Width(), rect_SmallRegion.Height(), SWP_NOZORDER);
}
}
}
// <20><><EFBFBD>öԻ<C3B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::DlgStyleChange()
{
// <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
m_Btn_Replay.SubclassDlgItem(IDC_BTN_REPLAY, this);
m_Btn_Replay.SetIcon(IDI_ICON_MAIN_REPLAY);
m_Btn_Replay.SetTooltipText("Video Control");
m_Btn_Replay.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Btn_Replay.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ťʱ<C5A5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
m_Btn_Replay.DrawTransparent(TRUE);
// ״̬<D7B4>
m_Btn_FJ.SubclassDlgItem(IDC_BTN_SHOW_FJ, this);
m_Btn_FJ.SetIcon(IDI_ICON_MAIN_FJ);
m_Btn_FJ.SetTooltipText("Status Inquiry");
m_Btn_FJ.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Btn_FJ.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));
m_Btn_FJ.DrawTransparent(TRUE);
// <20><EFBFBD><E9B2A5><EFBFBD><EFBFBD>
m_Btn_SocketReceive.SubclassDlgItem(IDC_BTN_MULTICASTSOCKETRECEIVE, this);
m_Btn_SocketReceive.SetIcon(IDI_ICON_MAIN_SOCKETSEND);
m_Btn_SocketReceive.SetTooltipText("Data Receive");
m_Btn_SocketReceive.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Btn_SocketReceive.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));
m_Btn_SocketReceive.DrawTransparent(TRUE);
// <20><>ʼ¼<CABC><C2BC>
m_Btn_CaptureVideo.SubclassDlgItem(IDC_BTN_CAPTURE_VIDEO, this);
m_Btn_CaptureVideo.SetIcon(IDI_ICON_MAIN_CAPTUREVIDEO);
m_Btn_CaptureVideo.SetTooltipText("Recording Start");
m_Btn_CaptureVideo.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Btn_CaptureVideo.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));
m_Btn_CaptureVideo.DrawTransparent(TRUE);
// <20><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
m_Btn_Result.SubclassDlgItem(IDC_BTN_LOOKUP_RESULT, this);
m_Btn_Result.SetIcon(IDI_ICON_MAIN_RESULT);
m_Btn_Result.SetTooltipText("Instant Preview");
m_Btn_Result.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Btn_Result.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));
m_Btn_Result.DrawTransparent(TRUE);
//// <20><EFBFBD><E9B1A8><EFBFBD><EFBFBD>
//m_Btn_QBFunctions.SubclassDlgItem(IDC_BTN_SET_PARAMS, this);
//m_Btn_QBFunctions.SetIcon(IDI_ICON_MAIN_QBFUNCTIONS);
//m_Btn_QBFunctions.SetTooltipText("<22><EFBFBD><E9B1A8><EFBFBD><EFBFBD>");
//m_Btn_QBFunctions.SetAlign(CButtonST::ST_ALIGN_VERT);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//m_Btn_QBFunctions.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(29, 191, 151));
//m_Btn_QBFunctions.DrawTransparent(TRUE);
}
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>С
BOOL CCH91PayloadSoftwareDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
ScreenToClient(&pt);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>С
CRect rect1;
GetDlgItem(IDC_STATIC_EO_REGION)->GetWindowRect(&rect1);
ScreenToClient(&rect1);
CRect rect2;
GetDlgItem(IDC_STATIC_VIDEO_REGIONALL)->GetWindowRect(&rect2);
ScreenToClient(&rect2);
// <20><>Ҫ<EFBFBD>ж<EFBFBD>һ<EFBFBD><D2BB>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (str_CurrentImgType == "EOͼ<EFBFBD><EFBFBD>") // EOͼ<4F><CDBC>
{
g_CtrlFocusThroughMouseWheel = true;
if (m_bVideoShowFullScreen == FALSE)
{
if (pt.x > rect1.left && pt.x < rect1.right && pt.y > rect1.top && pt.y < rect1.bottom)
{
if (zDelta < 0) // <20>ӳ<EFBFBD><D3B3><EFBFBD>
{
g_payloadCtrlProtocol = 15;
g_sCtrlInstruction = "EO<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>";
}
else // <20>ӳ<EFBFBD>С
{
g_payloadCtrlProtocol = 14;
g_sCtrlInstruction = "EO<EFBFBD>ӳ<EFBFBD>С";
}
}
}
else
{
if (pt.x > rect2.left && pt.x < rect2.right && pt.y > rect2.top && pt.y < rect2.bottom)
{
if (zDelta < 0) // <20>ӳ<EFBFBD><D3B3><EFBFBD>
{
g_payloadCtrlProtocol = 15;
g_sCtrlInstruction = "EO<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>";
}
else // <20>ӳ<EFBFBD>С
{
g_payloadCtrlProtocol = 14;
g_sCtrlInstruction = "EO<EFBFBD>ӳ<EFBFBD>С";
}
}
}
}
else if (str_CurrentImgType == "IRͼ<EFBFBD><EFBFBD>") // IRͼ<52><CDBC>
{
g_CtrlFocusThroughMouseWheel = true;
if (m_bVideoShowFullScreen == FALSE)
{
if (pt.x > rect1.left && pt.x < rect1.right && pt.y > rect1.top && pt.y < rect1.bottom)
{
if (zDelta < 0) // <20>ӳ<EFBFBD><D3B3><EFBFBD>
{
g_payloadCtrlProtocol = 15;
g_sCtrlInstruction = "IR<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>";
}
else // <20>ӳ<EFBFBD>С
{
g_payloadCtrlProtocol = 14;
g_sCtrlInstruction = "IR<EFBFBD>ӳ<EFBFBD>С";
}
}
}
else
{
if (pt.x > rect2.left && pt.x < rect2.right && pt.y > rect2.top && pt.y < rect2.bottom)
{
if (zDelta < 0) // <20>ӳ<EFBFBD><D3B3><EFBFBD>
{
g_payloadCtrlProtocol = 17;
g_sCtrlInstruction = "IR<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>";
}
else // <20>ӳ<EFBFBD>С
{
g_payloadCtrlProtocol = 16;
g_sCtrlInstruction = "IR<EFBFBD>ӳ<EFBFBD>С";
}
}
}
}
else
{
// <20><><EFBFBD><EFBFBD>Ӧ
}
return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::DlgLanguageSet()
{
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString str_fileLanguageName = "config_Chinese.ini";
CString fileLanguageSet = GetSoftwareCurrentDirectory()+ "\\ini\\" + str_fileLanguageName;
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>[TITLE]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("TITLE", "TITLE_REPLAY", "0", g_char_TitleReplay, 30, fileLanguageSet);
g_str_TitleReplay = g_char_TitleReplay;
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>[WARNING]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>Ϣ<EFBFBD><CFA2>ʾ
GetPrivateProfileString("WARNING", "WARNING_TITLE", "0", g_char_WarningTitle, 100, fileLanguageSet);
g_str_WarningTitle = g_char_WarningTitle;
// <20><><EFBFBD>̿ռ<CCBF><D5BC><EFBFBD>ʾ
GetPrivateProfileString("WARNING", "WARNING_STORAGE", "0", g_char_WarningStorage, 100, fileLanguageSet);
g_str_WarningStorage = g_char_WarningStorage;
// UDP<44><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD><D8A1><EFBFBD><E9B1A8>
GetPrivateProfileString("WARNING", "WARNING_UDPRECEIVE", "0", g_char_WarningUDPReceive, 100, fileLanguageSet);
g_str_WarningUDPReceive = g_char_WarningUDPReceive;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
GetPrivateProfileString("WARNING", "WARNING_SERIALRECEIVE", "0", g_char_WarningSerialReceive, 100, fileLanguageSet);
g_str_WarningSerialReceive = g_char_WarningSerialReceive;
// <20>غɿ<D8BA><C9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
GetPrivateProfileString("WARNING", "WARNING_PAYLOADCONTROL", "0", g_char_WarningPayloadControl, 100, fileLanguageSet);
g_str_WarningPayloadControl = g_char_WarningPayloadControl;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ʾ
GetPrivateProfileString("WARNING", "WARNING_LRFCODE", "0", g_char_WarningLRFCode, 100, fileLanguageSet);
g_str_WarningLRFCode = g_char_WarningLRFCode;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>Χ<EFBFBD><CEA7>ʾ
GetPrivateProfileString("WARNING", "WARNING_LRFNUMBER", "0", g_char_WarningLRFNumber, 100, fileLanguageSet);
g_str_WarningLRFNumber = g_char_WarningLRFNumber;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("WARNING", "WARNING_INPUTNUMBER", "0", g_char_WarningInputNumber, 100, fileLanguageSet);
g_str_WarningInputNumber = g_char_WarningInputNumber;
// <20><>ͼ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD><E8B6A8>ʾ
GetPrivateProfileString("WARNING", "WARNING_MAPALTSET", "0", g_char_WarningMapAltSet, 100, fileLanguageSet);
g_str_WarningMapAltSet = g_char_WarningMapAltSet;
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>[STATIC]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
GetPrivateProfileString("STATIC", "STATIC_COMMANDSEND", "0", g_char_CommandSend, 30, fileLanguageSet);
g_str_CommandSend = g_char_CommandSend;
// <20>ر<EFBFBD>ָ<EFBFBD><D6B8>
GetPrivateProfileString("STATIC", "STATIC_COMMANDRESPONSE", "0", g_char_CommandResponse, 30, fileLanguageSet);
g_str_CommandResponse = g_char_CommandResponse;
// <20>غ<EFBFBD>״̬
GetPrivateProfileString("STATIC", "STATIC_STATE", "0", g_char_State, 30, fileLanguageSet);
g_str_State = g_char_State;
// <20>ļ<EFBFBD>·<EFBFBD><C2B7>
GetPrivateProfileString("STATIC", "STATIC_FILEPATH", "0", g_char_FilePath, 30, fileLanguageSet);
g_str_FilePath = g_char_FilePath;
// <20>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
GetPrivateProfileString("STATIC", "STATIC_EOCOMMAND", "0", g_char_EOCommand, 30, fileLanguageSet);
g_str_EOCommand = g_char_EOCommand;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
GetPrivateProfileString("STATIC", "STATIC_IRCOMMAND", "0", g_char_IRCommand, 30, fileLanguageSet);
g_str_IRCommand = g_char_IRCommand;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("STATIC", "STATIC_DRIFT", "0", g_char_Drift, 30, fileLanguageSet);
g_str_Drift = g_char_Drift;
// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
GetPrivateProfileString("STATIC", "STATIC_AVTGATE", "0", g_char_AVTGate, 30, fileLanguageSet);
g_str_AVTGate = g_char_AVTGate;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½
GetPrivateProfileString("STATIC", "STATIC_LOGIN", "0", g_char_LogIn, 30, fileLanguageSet);
g_str_LogIn = g_char_LogIn;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
GetPrivateProfileString("STATIC", "STATIC_LASERNUM", "0", g_char_LaserNum, 30, fileLanguageSet);
g_str_LaserNum = g_char_LaserNum;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
GetPrivateProfileString("STATIC", "STATIC_LASERPERIOD", "0", g_char_LaserPeriod, 30, fileLanguageSet);
g_str_LaserPeriod = g_char_LaserPeriod;
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>[COMMAND]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Ŀ<><EFBFBD><EABEAD>װ<EFBFBD><D7B0>
GetPrivateProfileString("COMMAND", "COMMAND_TARGETLONSET", "0", g_char_TargetLonSet, 30, fileLanguageSet);
g_str_TargetLonSet = g_char_TargetLonSet;
// Ŀ<><C4BF>γ<EFBFBD><CEB3>װ<EFBFBD><D7B0>
GetPrivateProfileString("COMMAND", "COMMAND_TARGETLATSET", "0", g_char_TargetLatSet, 30, fileLanguageSet);
g_str_TargetLatSet = g_char_TargetLatSet;
// Ŀ<><C4BF><EFBFBD>߶<EFBFBD>װ<EFBFBD><D7B0>
GetPrivateProfileString("COMMAND", "COMMAND_TARGETALTSET", "0", g_char_TargetAltSet, 30, fileLanguageSet);
g_str_TargetAltSet = g_char_TargetAltSet;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_GEOGRAPHYTRACKING", "0", g_char_GeographyTracking, 30, fileLanguageSet);
g_str_GeographyTracking = g_char_GeographyTracking;
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_MANUALSLEW", "0", g_char_ManualSlew, 30, fileLanguageSet);
g_str_ManualSlew = g_char_ManualSlew;
// <20><><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_VERTICALVIEW", "0", g_char_VerticalView, 30, fileLanguageSet);
g_str_VerticalView = g_char_VerticalView;
// ɨ<><C9A8>
GetPrivateProfileString("COMMAND", "COMMAND_AUTOSCAN", "0", g_char_AutoScan, 30, fileLanguageSet);
g_str_AutoScan = g_char_AutoScan;
// <20><><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_ANGLELOCK", "0", g_char_AngleLock, 30, fileLanguageSet);
g_str_AngleLock = g_char_AngleLock;
// ƽ̨<C6BD><CCA8>λ
GetPrivateProfileString("COMMAND", "COMMAND_TURRETRESET", "0", g_char_TurretReset, 30, fileLanguageSet);
g_str_TurretReset = g_char_TurretReset;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DRIFTRIGHT", "0", g_char_DriftRight, 30, fileLanguageSet);
g_str_DriftRight = g_char_DriftRight;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DRIFTLEFT", "0", g_char_DriftLeft, 30, fileLanguageSet);
g_str_DriftLeft = g_char_DriftLeft;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DRIFTUP", "0", g_char_DriftUp, 30, fileLanguageSet);
g_str_DriftUp = g_char_DriftUp;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DRIFTDOWN", "0", g_char_DriftDown, 30, fileLanguageSet);
g_str_DriftDown = g_char_DriftDown;
// <20>غ<EFBFBD><D8BA><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_TURRETSTOW", "0", g_char_TurretStow, 30, fileLanguageSet);
g_str_TurretStow = g_char_TurretStow;
// <20>غɽ<D8BA>
GetPrivateProfileString("COMMAND", "COMMAND_TURRETFWD", "0", g_char_TurretFWD, 30, fileLanguageSet);
g_str_TurretFWD = g_char_TurretFWD;
// <20>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOAUTOTRACKING", "0", g_char_EOAutoTracking, 30, fileLanguageSet);
g_str_EOAutoTracking = g_char_EOAutoTracking;
// <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRAUTOTRACKING", "0", g_char_IRAutoTracking, 30, fileLanguageSet);
g_str_IRAutoTracking = g_char_IRAutoTracking;
// <20><><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CORRELATIONTRACKING", "0", g_char_CorrelationTracking, 30, fileLanguageSet);
g_str_CorrelationTracking = g_char_CorrelationTracking;
// <20><><EFBFBD>ĺ<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CENTROIDBLACKTRACKING", "0", g_char_CentroidBlackTracking, 30, fileLanguageSet);
g_str_CentroidBlackTracking = g_char_CentroidBlackTracking;
// <20><><EFBFBD>İ<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CENTROIDWHITETRACKING", "0", g_char_CentroidWhiteTracking, 30, fileLanguageSet);
g_str_CentroidWhiteTracking = g_char_CentroidWhiteTracking;
// <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_OSDONOFF", "0", g_char_OSDONOFF, 30, fileLanguageSet);
g_str_OSDONOFF = g_char_OSDONOFF;
// ƫ<>ĸ<EFBFBD><C4B8><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_OFFSETTRACKING", "0", g_char_OffsetTracking, 30, fileLanguageSet);
g_str_OffsetTracking = g_char_OffsetTracking;
// <20><>̬Ŀ<CCAC><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_STATICTARGETTRACKING", "0", g_char_StaticTargetTracking, 30, fileLanguageSet);
g_str_StaticTargetTracking = g_char_StaticTargetTracking;
// <20><>̬Ŀ<CCAC><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_MOVETARGETTRACKING", "0", g_char_MoveTargetTracking, 30, fileLanguageSet);
g_str_MoveTargetTracking = g_char_MoveTargetTracking;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_VIEWTRACKING", "0", g_char_ViewTracking, 30, fileLanguageSet);
g_str_ViewTracking = g_char_ViewTracking;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATESIZEBIG", "0", g_char_AVTGateSizeBig, 30, fileLanguageSet);
g_str_AVTGateSizeBig = g_char_AVTGateSizeBig;
// С<><D0A1><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATESIZESMALL", "0", g_char_AVTGateSizeSmall, 30, fileLanguageSet);
g_str_AVTGateSizeSmall = g_char_AVTGateSizeSmall;
// <20>в<EFBFBD><D0B2><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATESIZEMIDDLE", "0", g_char_AVTGateSizeMiddle, 30, fileLanguageSet);
g_str_AVTGateSizeMiddle = g_char_AVTGateSizeMiddle;
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATESIZEAUTO", "0", g_char_AVTGateSizeAuto, 30, fileLanguageSet);
g_str_AVTGateSizeAuto = g_char_AVTGateSizeAuto;
// ͼ<><CDBC><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>
GetPrivateProfileString("COMMAND", "COMMAND_IMGENHANCEON", "0", g_char_ImgEnhanceON, 30, fileLanguageSet);
g_str_ImgEnhanceON = g_char_ImgEnhanceON;
// ͼ<><CDBC><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>
GetPrivateProfileString("COMMAND", "COMMAND_IMGENHANCEOFF", "0", g_char_ImgEnhanceOFF, 30, fileLanguageSet);
g_str_ImgEnhanceOFF = g_char_ImgEnhanceOFF;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATERIGHT", "0", g_char_AVTGateRight, 30, fileLanguageSet);
g_str_AVTGateRight = g_char_AVTGateRight;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATELEFT", "0", g_char_AVTGateLeft, 30, fileLanguageSet);
g_str_AVTGateLeft = g_char_AVTGateLeft;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATEUP", "0", g_char_AVTGateUp, 30, fileLanguageSet);
g_str_AVTGateUp = g_char_AVTGateUp;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_AVTGATEDOWN", "0", g_char_AVTGateDown, 30, fileLanguageSet);
g_str_AVTGateDown = g_char_AVTGateDown;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_LRFPOWERON", "0", g_char_LRFPowerON, 30, fileLanguageSet);
g_str_LRFPowerON = g_char_LRFPowerON;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_LRFPOWEROFF", "0", g_char_LRFPowerOFF, 30, fileLanguageSet);
g_str_LRFPowerOFF = g_char_LRFPowerOFF;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_LRFARMED", "0", g_char_LRFArmed, 30, fileLanguageSet);
g_str_LRFArmed = g_char_LRFArmed;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_LRFSAFE", "0", g_char_LRFSafe, 30, fileLanguageSet);
g_str_LRFSafe = g_char_LRFSafe;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_LDARMED", "0", g_char_LDArmed, 30, fileLanguageSet);
g_str_LDArmed = g_char_LDArmed;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_LDSAFE", "0", g_char_LDSafe, 30, fileLanguageSet);
g_str_LDSafe = g_char_LDSafe;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO1", "0", g_char_LaserNo1, 30, fileLanguageSet);
g_str_LaserNo1 = g_char_LaserNo1;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO2", "0", g_char_LaserNo2, 30, fileLanguageSet);
g_str_LaserNo2 = g_char_LaserNo2;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO3", "0", g_char_LaserNo3, 30, fileLanguageSet);
g_str_LaserNo3 = g_char_LaserNo3;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO4", "0", g_char_LaserNo4, 30, fileLanguageSet);
g_str_LaserNo4 = g_char_LaserNo4;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO5", "0", g_char_LaserNo5, 30, fileLanguageSet);
g_str_LaserNo5 = g_char_LaserNo5;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO6", "0", g_char_LaserNo6, 30, fileLanguageSet);
g_str_LaserNo6 = g_char_LaserNo6;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO7", "0", g_char_LaserNo7, 30, fileLanguageSet);
g_str_LaserNo7 = g_char_LaserNo7;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO8", "0", g_char_LaserNo8, 30, fileLanguageSet);
g_str_LaserNo8 = g_char_LaserNo8;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO9", "0", g_char_LaserNo9, 30, fileLanguageSet);
g_str_LaserNo9 = g_char_LaserNo9;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10
GetPrivateProfileString("COMMAND", "COMMAND_LASERNO10", "0", g_char_LaserNo10, 30, fileLanguageSet);
g_str_LaserNo10 = g_char_LaserNo10;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_LASERLOAD", "0", g_char_LaserLoad, 30, fileLanguageSet);
g_str_LaserLoad = g_char_LaserLoad;
// <20><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ǿ<EFBFBD><C7BF>
GetPrivateProfileString("COMMAND", "COMMAND_ICRON", "0", g_char_ICRON, 30, fileLanguageSet);
g_str_ICRON = g_char_ICRON;
// <20><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ǿ<EFBFBD><C7BF>
GetPrivateProfileString("COMMAND", "COMMAND_ICROFF", "0", g_char_ICROFF, 30, fileLanguageSet);
g_str_ICROFF = g_char_ICROFF;
// ͸<><CDB8><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DEFOGON", "0", g_char_DefogON, 30, fileLanguageSet);
g_str_DefogON = g_char_DefogON;
// ͸<><CDB8><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DEFOGOFF", "0", g_char_DefogOFF, 30, fileLanguageSet);
g_str_DefogOFF = g_char_DefogOFF;
// EO<45><4F><EFBFBD><EFBFBD>+
GetPrivateProfileString("COMMAND", "COMMAND_EOFOCUSPLUS", "0", g_char_EOFocusPlus, 30, fileLanguageSet);
g_str_EOFocusPlus = g_char_EOFocusPlus;
// EO<45><4F><EFBFBD><EFBFBD>-
GetPrivateProfileString("COMMAND", "COMMAND_EOFOCUSMINUS", "0", g_char_EOFocusMinus, 30, fileLanguageSet);
g_str_EOFocusMinus = g_char_EOFocusMinus;
// EO<45>ӳ<EFBFBD><D3B3><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOZOOMOUT", "0", g_char_EOZoomOut, 30, fileLanguageSet);
g_str_EOZoomOut = g_char_EOZoomOut;
// EO<45>ӳ<EFBFBD>С
GetPrivateProfileString("COMMAND", "COMMAND_EOZOOMIN", "0", g_char_EOZoomIn, 30, fileLanguageSet);
g_str_EOZoomIn = g_char_EOZoomIn;
// EO<45>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOLIGHTMANUAL", "0", g_char_EOLightManual, 30, fileLanguageSet);
g_str_EOLightManual = g_char_EOLightManual;
// EO<45>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOLIGHTAUTO", "0", g_char_EOLightAuto, 30, fileLanguageSet);
g_str_EOLightAuto = g_char_EOLightAuto;
// EO<45><4F><EFBFBD><EFBFBD>+
GetPrivateProfileString("COMMAND", "COMMAND_EOLIGHTPLUS", "0", g_char_EOLightPlus, 30, fileLanguageSet);
g_str_EOLightPlus = g_char_EOLightPlus;
// EO<45><4F><EFBFBD><EFBFBD>-
GetPrivateProfileString("COMMAND", "COMMAND_EOLIGHTMINUS", "0", g_char_EOLightMinus, 30, fileLanguageSet);
g_str_EOLightMinus = g_char_EOLightMinus;
// EO<45><4F>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_EOPOWERON", "0", g_char_EOPowerON, 30, fileLanguageSet);
g_str_EOPowerON = g_char_EOPowerON;
// EO<45><4F>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_EOPOWEROFF", "0", g_char_EOPowerOFF, 30, fileLanguageSet);
g_str_EOPowerOFF = g_char_EOPowerOFF;
// EO<45><4F><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>
GetPrivateProfileString("COMMAND", "COMMAND_EOWDRON", "0", g_char_EOWDRON, 30, fileLanguageSet);
g_str_EOWDRON = g_char_EOWDRON;
// EO<45><4F><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>
GetPrivateProfileString("COMMAND", "COMMAND_EOWDROFF", "0", g_char_EOWDROFF, 30, fileLanguageSet);
g_str_EOWDROFF = g_char_EOWDROFF;
// EO<45>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOFOCUSAUTO", "0", g_char_EOFocusAuto, 30, fileLanguageSet);
g_str_EOFocusAuto = g_char_EOFocusAuto;
// EOʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_EOFOCUSREALTIME", "0", g_char_EOFocusRealTime, 30, fileLanguageSet);
g_str_EOFocusRealTime = g_char_EOFocusRealTime;
// IR<49><52><EFBFBD><EFBFBD>+
GetPrivateProfileString("COMMAND", "COMMAND_IRFOCUSPLUS", "0", g_char_IRFocusPlus, 30, fileLanguageSet);
g_str_IRFocusPlus = g_char_IRFocusPlus;
// IR<49><52><EFBFBD><EFBFBD>-
GetPrivateProfileString("COMMAND", "COMMAND_IRFOCUSMINUS", "0", g_char_IRFocusMinus, 30, fileLanguageSet);
g_str_IRFocusMinus = g_char_IRFocusMinus;
// IR<49>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRFOCUSAUTO", "0", g_char_IRFocusAuto, 30, fileLanguageSet);
g_str_IRFocusAuto = g_char_IRFocusAuto;
// IRʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRFOCUSREALTIME", "0", g_char_IRFocusRealTime, 30, fileLanguageSet);
g_str_IRFocusRealTime = g_char_IRFocusRealTime;
// IR<49>ӳ<EFBFBD><D3B3><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRZOOMOUT", "0", g_char_IRZoomOut, 30, fileLanguageSet);
g_str_IRZoomOut = g_char_IRZoomOut;
// IR<49>ӳ<EFBFBD>С
GetPrivateProfileString("COMMAND", "COMMAND_IRZOOMIN", "0", g_char_IRZoomIn, 30, fileLanguageSet);
g_str_IRZoomIn = g_char_IRZoomIn;
// IR<49>ڰ<EFBFBD><DAB0><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_BHWH", "0", g_char_BHWH, 30, fileLanguageSet);
g_str_BHWH = g_char_BHWH;
// IRУ<52><D0A3>
GetPrivateProfileString("COMMAND", "COMMAND_IRCALIBRATION", "0", g_char_IRCalibration, 30, fileLanguageSet);
g_str_IRCalibration = g_char_IRCalibration;
// IR<49>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRLIGHTMANUAL", "0", g_char_IRLightManual, 30, fileLanguageSet);
g_str_IRLightManual = g_char_IRLightManual;
// IR<49>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IRLIGHTAUTO", "0", g_char_IRLightAuto, 30, fileLanguageSet);
g_str_IRLightAuto = g_char_IRLightAuto;
// IR<49><52><EFBFBD><EFBFBD>+
GetPrivateProfileString("COMMAND", "COMMAND_IRLIGHTPLUS", "0", g_char_IRLightPlus, 30, fileLanguageSet);
g_str_IRLightPlus = g_char_IRLightPlus;
// IR<49><52><EFBFBD><EFBFBD>-
GetPrivateProfileString("COMMAND", "COMMAND_IRLIGHTMINUS", "0", g_char_IRLightMinus, 30, fileLanguageSet);
g_str_IRLightMinus = g_char_IRLightMinus;
// IR<49>Աȶ<D4B1>+
GetPrivateProfileString("COMMAND", "COMMAND_IRCONTRASTPLUS", "0", g_char_IRContrastPlus, 30, fileLanguageSet);
g_str_IRContrastPlus = g_char_IRContrastPlus;
// IR<49>Աȶ<D4B1>-
GetPrivateProfileString("COMMAND", "COMMAND_IRCONTRASTMINUS", "0", g_char_IRContrastMinus, 30, fileLanguageSet);
g_str_IRContrastMinus = g_char_IRContrastMinus;
// <20><>Ե<EFBFBD>񻯿<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DDEON", "0", g_char_DDEON, 30, fileLanguageSet);
g_str_DDEON = g_char_DDEON;
// <20><>Ե<EFBFBD>񻯹<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DDEOFF", "0", g_char_DDEOFF, 30, fileLanguageSet);
g_str_DDEOFF = g_char_DDEOFF;
// IR<49><52>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_IRPOWERON", "0", g_char_IRPowerON, 30, fileLanguageSet);
g_str_IRPowerON = g_char_IRPowerON;
// IR<49><52>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_IRPOWEROFF", "0", g_char_IRPowerOFF, 30, fileLanguageSet);
g_str_IRPowerOFF = g_char_IRPowerOFF;
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IMGTYPESET", "0", g_char_ImgTypeSet, 30, fileLanguageSet);
g_str_ImgTypeSet = g_char_ImgTypeSet;
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_IMGFLOWSET", "0", g_char_ImgFlowSet, 30, fileLanguageSet);
g_str_ImgFlowSet = g_char_ImgFlowSet;
// DC<44>ֶ<EFBFBD><D6B6><EFBFBD>ƽ<EFBFBD><C6BD>
GetPrivateProfileString("COMMAND", "COMMAND_DCWBMANUAL", "0", g_char_DCWBManual, 30, fileLanguageSet);
g_str_DCWBManual = g_char_DCWBManual;
// DC<44>Զ<EFBFBD><D4B6><EFBFBD>ƽ<EFBFBD><C6BD>
GetPrivateProfileString("COMMAND", "COMMAND_DCWBAUTO", "0", g_char_DCWBAuto, 30, fileLanguageSet);
g_str_DCWBAuto = g_char_DCWBAuto;
// <20><><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_SINGLESHOOT", "0", g_char_SingleShoot, 30, fileLanguageSet);
g_str_SingleShoot = g_char_SingleShoot;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CC2S", "0", g_char_CC2s, 30, fileLanguageSet);
g_str_CC2s = g_char_CC2s;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CC4S", "0", g_char_CC4s, 30, fileLanguageSet);
g_str_CC4s = g_char_CC4s;
// <20><>֤<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CCOVERLAP", "0", g_char_CCOverlap, 30, fileLanguageSet);
g_str_CCOverlap = g_char_CCOverlap;
// <20><>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_CCAUTOSCAN", "0", g_char_CCAutoScan, 30, fileLanguageSet);
g_str_CCAutoScan = g_char_CCAutoScan;
// DC<44>Զ<EFBFBD><D4B6>ع<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DCEXPOSUREAUTO", "0", g_char_DCExposureAuto, 30, fileLanguageSet);
g_str_DCExposureAuto = g_char_DCExposureAuto;
// DC<44>ֶ<EFBFBD><D6B6>ع<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DCEXPOSUREMANUAL", "0", g_char_DCExposureManual, 30, fileLanguageSet);
g_str_DCExposureManual = g_char_DCExposureManual;
// DC<44>ع<EFBFBD>ʱ<EFBFBD><CAB1>+
GetPrivateProfileString("COMMAND", "COMMAND_DCEXPOSUREPLUS", "0", g_char_DCExposurePlus, 30, fileLanguageSet);
g_str_DCExposurePlus = g_char_DCExposurePlus;
// DC<44>ع<EFBFBD>ʱ<EFBFBD><CAB1>-
GetPrivateProfileString("COMMAND", "COMMAND_DCEXPOSUREMINUS", "0", g_char_DCExposureMinus, 30, fileLanguageSet);
g_str_DCExposureMinus = g_char_DCExposureMinus;
// <20><>֤<EFBFBD>ٸ߱<D9B8><DFB1>ع<EFBFBD>
GetPrivateProfileString("COMMAND", "COMMAND_DCEXPOSUREVHR", "0", g_char_DCExposureVHR, 30, fileLanguageSet);
g_str_DCExposureVHR = g_char_DCExposureVHR;
// <20>ŷ<EFBFBD><C5B7><EFBFBD>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_SERVOPOWERON", "0", g_char_ServoPowerON, 30, fileLanguageSet);
g_str_ServoPowerON = g_char_ServoPowerON;
// <20>ŷ<EFBFBD><C5B7><EFBFBD>Դ<EFBFBD><D4B4>
GetPrivateProfileString("COMMAND", "COMMAND_SERVOPOWEROFF", "0", g_char_ServoPowerOFF, 30, fileLanguageSet);
g_str_ServoPowerOFF = g_char_ServoPowerOFF;
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>[OTHER]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// δѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetPrivateProfileString("OTHER", "OTHER_LASERCHOOSE", "0", g_char_LaserChoose, 30, fileLanguageSet);
g_str_LaserChoose = g_char_LaserChoose;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>سɹ<D8B3>
GetPrivateProfileString("OTHER", "OTHER_LASERNUMLOADSUCCESS", "0", g_char_LaserLoadSuccess, 30, fileLanguageSet);
g_str_LaserLoadSuccess = g_char_LaserLoadSuccess;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
GetPrivateProfileString("OTHER", "OTHER_LASERNUMLOADFAIL", "0", g_char_LaserLoadFail, 30, fileLanguageSet);
g_str_LaserLoadFail = g_char_LaserLoadFail;
}
void CCH91PayloadSoftwareDlg::OnBnClickedBtnMulticastsocketreceive()
{
// <20><EFBFBD><E9B2A5><EFBFBD><EFBFBD>
if (m_MulticastSocketReceiveDlg != NULL)
{
if (TRUE == m_MulticastSocketReceiveDlg->IsWindowVisible())
{
m_MulticastSocketReceiveDlg->ShowWindow(SW_HIDE);
}
else
{
m_MulticastSocketReceiveDlg->ShowWindow(SW_SHOW);
}
}
}
void CCH91PayloadSoftwareDlg::OnBnClickedBtnCaptureVideo()
{
g_bVideoCapture =! g_bVideoCapture;
if (TRUE == g_bVideoCapture)
{
GetDlgItem(IDC_BTN_CAPTURE_VIDEO)->SetWindowText("ֹͣ¼<EFBFBD><EFBFBD>");
m_Btn_CaptureVideo.SetIcon(IDI_ICON_MAIN_CAPTURESTOP);
m_Btn_CaptureVideo.SetTooltipText("Recording Stop");
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
CTime tm = CTime::GetCurrentTime();
CString str_DataTime;
str_DataTime.Format(_T("FH98_VideoData_%04d%02d%02d_%02d%02d%02d"), tm.GetYear(), tm.GetMonth(), tm.GetDay(), tm.GetHour(), tm.GetMinute(), tm.GetSecond());//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>в<EFBFBD><D0B2>ܳ<EFBFBD><DCB3><EFBFBD>ð<EFBFBD><C3B0>
CString str_DateTimeVideo;
str_DateTimeVideo = str_DataTime + ".h264";
CString pathCH96Video = GetSoftwareCurrentDirectory() + "\\Result\\VideoData\\" + str_DateTimeVideo;
fopen_s(&g_pFileSaveVideoDataCH96, pathCH96Video, _T("ab"));
}
else
{
GetDlgItem(IDC_BTN_CAPTURE_VIDEO)->SetWindowText("<EFBFBD><EFBFBD>Ƶ¼<EFBFBD><EFBFBD>");
m_Btn_CaptureVideo.SetIcon(IDI_ICON_MAIN_CAPTUREVIDEO);
m_Btn_CaptureVideo.SetTooltipText("Recording Start");
// <20>رմ洢<D5B4>ļ<EFBFBD>
if (g_pFileSaveVideoDataCH96 != NULL)
{
fclose(g_pFileSaveVideoDataCH96);
g_pFileSaveVideoDataCH96 = NULL;
}
}
}
// Ctrl + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾҳ<CABE><D2B3><EFBFBD><EFBFBD>סCtrl<72><6C>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ч
if (::GetKeyState(VK_CONTROL) < 0)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
if (m_bVideoShowFullScreen == FALSE)
{
// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
if (point.x > rect_SmallRegion.left && point.x < rect_SmallRegion.right && point.y > rect_SmallRegion.top && point.y < rect_SmallRegion.bottom)
{
// <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint centerPt = rect_SmallRegion.CenterPoint();
centerPt.x = centerPt.x - rect_SmallRegion.left;
centerPt.y = centerPt.y - rect_SmallRegion.top;
// <20>ؼ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
CPoint offset;
offset.x = point.x - centerPt.x;
offset.y = centerPt.y - point.y;
// <20>ؼ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>תΪͼ<CEAA><CDBC>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
offset.x = offset.x * 1920 / rect_SmallRegion.Width();
offset.y = offset.y * 1080 / rect_SmallRegion.Height();
// ָ<><EFBFBD><EEB7A2>
g_payloadCtrlProtocol = 11;
g_TrackOffset = offset;
}
else
{
return;
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
else
{
// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>λ<EFBFBD><CEBB><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
if (point.x > rect_BigRegion.left && point.x < rect_BigRegion.right && point.y > rect_BigRegion.top && point.y < rect_BigRegion.bottom)
{
// <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint centerPt = rect_BigRegion.CenterPoint();
centerPt.x = centerPt.x - rect_SmallRegion.left;
centerPt.y = centerPt.y - rect_SmallRegion.top;
// <20>ؼ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
CPoint offset;
offset.x = point.x - centerPt.x;
offset.y = centerPt.y - point.y;
// <20>ؼ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>תΪͼ<CEAA><CDBC>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
offset.x = offset.x * 1920 / rect_BigRegion.Width();
offset.y = offset.y * 1080 / rect_BigRegion.Height();
// ָ<><EFBFBD><EEB7A2>
g_payloadCtrlProtocol = 11;
g_TrackOffset = offset;
}
else
{
return;
}
}
}
CDialogEx::OnLButtonDblClk(nFlags, point);
}
// Ctrl + <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾҳ<CABE><D2B3><EFBFBD><EFBFBD>סCtrl<72><6C><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ч
if (::GetKeyState(VK_CONTROL) < 0)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
if (m_bVideoShowFullScreen == FALSE)
{
// <20><><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
if (point.x > rect_SmallRegion.left && point.x < rect_SmallRegion.right && point.y > rect_SmallRegion.top && point.y < rect_SmallRegion.bottom)
{
// <20>ֶ<EFBFBD>ģʽ
g_payloadCtrlProtocol = 10;
}
else
{
return;
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
else
{
// <20><><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
if (point.x > rect_BigRegion.left && point.x < rect_BigRegion.right && point.y > rect_BigRegion.top && point.y < rect_BigRegion.bottom)
{
// <20>ֶ<EFBFBD>ģʽ
g_payloadCtrlProtocol = 10;
}
else
{
return;
}
}
}
CDialogEx::OnRButtonDown(nFlags, point);
}
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::OnMButtonDown(UINT nFlags, CPoint point)
{
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
m_bMButtonDown = TRUE;
CDialogEx::OnMButtonDown(nFlags, point);
}
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7>
void CCH91PayloadSoftwareDlg::OnMButtonUp(UINT nFlags, CPoint point)
{
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7>
m_bMButtonDown = FALSE;
// ƫ<><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
g_MS_Ratio = 0;
g_MS_Angle = 0;
::SendMessage(g_SendControlCommandDlgHwnd, WM_SHOW_MANUAL_SEARCH , WPARAM(0), LPARAM(0));
CDialogEx::OnMButtonUp(nFlags, point);
}
// <20>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD>
void CCH91PayloadSoftwareDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
if (m_bMButtonDown == TRUE)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
if (m_bVideoShowFullScreen == FALSE)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>
if (point.x > rect_SmallRegion.left && point.x < rect_SmallRegion.right && point.y > rect_SmallRegion.top && point.y < rect_SmallRegion.bottom)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint centerPt = rect_SmallRegion.CenterPoint();
centerPt.x = centerPt.x - rect_SmallRegion.left;
centerPt.y = centerPt.y - rect_SmallRegion.top;
// ƫ<><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint offset;
offset.x = point.x - centerPt.x;
offset.y = centerPt.y - point.y;
// <20><><EFBFBD><EFBFBD><EFBFBD>ǶȺ<C7B6>ƫ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
double angle = GetOffsetAngle(offset.x, offset.y);
double distRatio = sqrt(4.0 * (offset.x * offset.x + offset.y * offset.y) / (rect_SmallRegion.Width() * rect_SmallRegion.Width()));
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
if (distRatio > 1.0 || abs(angle) > 180)
{
m_bMButtonDown = FALSE;
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ֵ
g_MS_Ratio = 0;
g_MS_Angle = 0;
::SendMessage(g_SendControlCommandDlgHwnd, WM_SHOW_MANUAL_SEARCH , WPARAM(0), LPARAM(0));
}
else
{
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
if (distRatio > 0.5)
{
distRatio = 0.5;
}
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ֵ
g_MS_Ratio = distRatio;
g_MS_Angle = angle;
::SendMessage(g_SendControlCommandDlgHwnd, WM_SHOW_MANUAL_SEARCH , WPARAM(0), LPARAM(0));
}
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
else
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>
if (point.x > rect_BigRegion.left && point.x < rect_BigRegion.right && point.y > rect_BigRegion.top && point.y < rect_BigRegion.bottom)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint centerPt = rect_BigRegion.CenterPoint();
centerPt.x = centerPt.x - rect_BigRegion.left;
centerPt.y = centerPt.y - rect_BigRegion.top;
// ƫ<><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint offset;
offset.x = point.x - centerPt.x;
offset.y = centerPt.y - point.y;
// <20><><EFBFBD><EFBFBD><EFBFBD>ǶȺ<C7B6>ƫ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
double angle = GetOffsetAngle(offset.x, offset.y);
double distRatio = sqrt(4.0 * (offset.x * offset.x + offset.y * offset.y) / (rect_BigRegion.Width() * rect_BigRegion.Width()));
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
if (distRatio > 1.0 || abs(angle) > 180)
{
m_bMButtonDown = FALSE;
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ֵ
g_MS_Ratio = 0;
g_MS_Angle = 0;
::SendMessage(g_SendControlCommandDlgHwnd, WM_SHOW_MANUAL_SEARCH , WPARAM(0), LPARAM(0));
}
else
{
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
if (distRatio > 0.5)
{
distRatio = 0.5;
}
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ֵ
g_MS_Ratio = distRatio;
g_MS_Angle = angle;
::SendMessage(g_SendControlCommandDlgHwnd, WM_SHOW_MANUAL_SEARCH , WPARAM(0), LPARAM(0));
}
}
}
}
CDialogEx::OnMouseMove(nFlags, point);
}
// <20><><EFBFBD><EFBFBD>ƫ<EFBFBD>ƽǶ<C6BD>
double CCH91PayloadSoftwareDlg::GetOffsetAngle(int X, int Y)
{
double XA = X;
double YA = Y;
// <20><><EFBFBD><EFBFBD><EFBFBD>ϳɺ<CFB3><C9BA><EFBFBD><EFBFBD><EFBFBD> Yaw
double PayLoad_Yaw = 0;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (XA > 0 && YA == 0)
{
PayLoad_Yaw = 90;
}
else if (XA < 0 && YA == 0)
{
PayLoad_Yaw = -90;
}
else if (XA == 0 && YA > 0)
{
PayLoad_Yaw = 0;
}
else if (XA == 0 && YA < 0)
{
PayLoad_Yaw = 180;
}
else
{
double tanYaw = 0.0;
if (YA > 0 && XA > 0)
{
// <20><>1<EFBFBD><31><EFBFBD><EFBFBD>
tanYaw = XA / YA;
PayLoad_Yaw = atan(tanYaw) * 180 / CV_PI;
}
else if (YA < 0 && XA > 0)
{
// <20><>2<EFBFBD><32><EFBFBD><EFBFBD>
tanYaw = -XA / YA;
PayLoad_Yaw = atan(tanYaw) * 180 / CV_PI;
PayLoad_Yaw = 180 - PayLoad_Yaw;
}
else if (YA < 0 && XA < 0)
{
// <20><>3<EFBFBD><33><EFBFBD><EFBFBD>
tanYaw = XA / YA;
PayLoad_Yaw = atan(tanYaw) * 180 / CV_PI;
PayLoad_Yaw = -180 + PayLoad_Yaw;
}
else if (YA > 0 && XA < 0)
{
// <20><>4<EFBFBD><34><EFBFBD><EFBFBD>
tanYaw = -XA / YA;
PayLoad_Yaw = atan(tanYaw) * 180 / CV_PI;
PayLoad_Yaw = -PayLoad_Yaw;
}
}
return PayLoad_Yaw;
}