|
|
|
|
|
// CH91PayloadSoftwareDlg.h : 头文件
|
|
|
//
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "MulticastSocket.h"
|
|
|
#include "ExportSimpleImgShow.h"
|
|
|
#include "ExportImgShowBase.h"
|
|
|
#include "JoyKeybordControl.h"
|
|
|
#include "JoyStickControlDlg.h"
|
|
|
#include "ControlDlgFH96Page1.h"
|
|
|
#include "ShowFJDataDlg.h"
|
|
|
#include "DlgRecvDataFromQB.h"
|
|
|
#include "CUDPSocket.h"
|
|
|
#include "ShowReplayDlg.h"
|
|
|
#include "MulticastSocketReceiveDlg.h"
|
|
|
#include "BtnST.h"
|
|
|
#include "EditInput.h"
|
|
|
#include "Serial.h"
|
|
|
#include "afxwin.h"
|
|
|
#include "afxcmn.h"
|
|
|
#include "DlgCameraCtrl.h"
|
|
|
|
|
|
|
|
|
// CCH91PayloadSoftwareDlg 对话框
|
|
|
class CCH91PayloadSoftwareDlg : public CDialogEx
|
|
|
{
|
|
|
// 构造
|
|
|
public:
|
|
|
CCH91PayloadSoftwareDlg(CWnd* pParent = NULL); // 标准构造函数
|
|
|
|
|
|
// 对话框数据
|
|
|
enum { IDD = IDD_CH91PAYLOADSOFTWARE_DIALOG };
|
|
|
|
|
|
protected:
|
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
|
|
|
|
|
public:
|
|
|
|
|
|
// 分别代表 数据处理的线程的句柄和ID
|
|
|
HANDLE m_hThread_ProcessData;
|
|
|
DWORD m_ThreadID_ProcessData;
|
|
|
|
|
|
// 分别代表 数据处理的线程的句柄和ID
|
|
|
HANDLE m_hThread_ProcessDataH264;
|
|
|
DWORD m_ThreadID_ProcessDataH264;
|
|
|
|
|
|
// UDP实时接收数据
|
|
|
CUDPSocket m_UDPSocket_ZH;
|
|
|
// 图像显示模块
|
|
|
CExportSimpleImgShow *m_wndShowEO; // EO
|
|
|
|
|
|
// 对话框
|
|
|
CShowFJDataDlg* m_ShowFJDataDlg; // 显示FJ数据对话框
|
|
|
CShowReplayDlg* m_ShowReplayDlg; // 显示视频回放控制对话框
|
|
|
CDlgRecvDataFromQB* m_ShowDlgRecvDataFromQB; //显示情报席位目标定位数据对话框
|
|
|
CMulticastSocketReceiveDlg* m_MulticastSocketReceiveDlg; // 显示组播发送创建对话框
|
|
|
|
|
|
|
|
|
// 视频键盘类
|
|
|
CJoyKeybordControl m_JoyKeybord;
|
|
|
// 摇杆控制类(对话框模式,不显示)
|
|
|
CJoyStickControlDlg* m_JoyStickControlDlg;
|
|
|
|
|
|
// 显示组播接收信息
|
|
|
CString str_MulticastSocketInfo;
|
|
|
|
|
|
// rect变量
|
|
|
CRect rect_SmallRegion;
|
|
|
CRect rect_BigRegion;
|
|
|
// 实现
|
|
|
protected:
|
|
|
HICON m_hIcon;
|
|
|
// 生成的消息映射函数
|
|
|
virtual BOOL OnInitDialog();
|
|
|
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
|
afx_msg void OnPaint();
|
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
|
public: // 美化主界面按钮
|
|
|
CButtonST m_Btn_Replay; // 视频回放
|
|
|
CButtonST m_Btn_FJ; // 复接数据
|
|
|
CButtonST m_Btn_Trans; // 可见光,红外变换显示
|
|
|
CButtonST m_Btn_CaptureVideo; // 视频录像
|
|
|
CButtonST m_Btn_CaptureImg; // 抓图
|
|
|
CButtonST m_Btn_Result; // 录像及截图结果预览
|
|
|
CButtonST m_Btn_ReadImg; // 读取图片(数码照片)
|
|
|
CButtonST m_Btn_Guide; // 数引功能
|
|
|
CButtonST m_Btn_QBFunctions; // 参数设置
|
|
|
CButtonST m_Btn_SocketSend; // 组播发送
|
|
|
CButtonST m_Btn_SocketReceive; // 组播收数
|
|
|
CButtonST m_Btn_PhotoCtrl; // 图片浏览
|
|
|
CButtonST m_Btn_PayloadEvaluation; // 载荷评价
|
|
|
void DlgStyleChange();
|
|
|
|
|
|
public:
|
|
|
afx_msg void OnDestroy();
|
|
|
// 对控制页面的Tab页进行初始化
|
|
|
void OnInitControlDlg();
|
|
|
// 对解码器进行初始化
|
|
|
void OnInitCH96Decoder();
|
|
|
// 通过视频回放页面控制载荷类型,型号类型在配置文件中更改
|
|
|
LRESULT PayloadTypeSet(WPARAM wParam, LPARAM lParam);
|
|
|
// 可见光,红外显示复接数据
|
|
|
LRESULT ShowMsgOnDlgEO(WPARAM wParam, LPARAM lParam);
|
|
|
LRESULT ShowMsgOnDlgIR(WPARAM wParam, LPARAM lParam);
|
|
|
// 数码照片复接数据
|
|
|
LRESULT ShowMsgOnDlgDC(WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
// 回放进度停止时,清空图像缓存
|
|
|
void ShowEOImg(cv::Mat img);
|
|
|
|
|
|
LRESULT ShowGuideAzimuthOnDlg(WPARAM wParam, LPARAM lParam);
|
|
|
LRESULT ShowGuidePitchOnDlg(WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
|
|
|
// 在发送控制指令之后,将焦点设置在主界面上
|
|
|
LRESULT SetFocusOnMainDlg(WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
// 显示复接数据
|
|
|
void ShowImgFJData();
|
|
|
afx_msg void OnBnClickedBtnShowFj();
|
|
|
//afx_msg void OnBnClickedBtnSendKz();
|
|
|
|
|
|
|
|
|
// 显示发送指令内容
|
|
|
LRESULT ShowCtrlInstruction(WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
// 解析开关指令
|
|
|
CString TranlateBackSwitchInstructions(UINT8 switchInstruction);
|
|
|
|
|
|
//解析载荷工作状态
|
|
|
void ZHWorkState(UINT8 CurrentImgType, UINT8 SystemState, UINT8 LaserState);
|
|
|
|
|
|
afx_msg void OnBnClickedBtnLookupResult();
|
|
|
|
|
|
// 主界面数引控制
|
|
|
CEditInput str_Guide_Azimuth; //方位角
|
|
|
CEditInput str_Guide_Pitch; //俯仰角
|
|
|
|
|
|
float m_Guide_Azimuth; //方位角
|
|
|
float m_Guide_Pitch; //俯仰角
|
|
|
|
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
|
//afx_msg void OnBnClickedBtnCaptureImg();
|
|
|
|
|
|
//图像采集(视频录像功能定义在Global中)
|
|
|
bool m_bCaptureEOImg;
|
|
|
bool m_bCaptureIRImg;
|
|
|
|
|
|
// 主界面显示UDP组播连接及串位情况
|
|
|
afx_msg void OnBnClickedBtnReplay();
|
|
|
|
|
|
// 主界面方位角Picture Control
|
|
|
afx_msg void OnBnClickedBtnBigimage();
|
|
|
|
|
|
// 关联对话框变量
|
|
|
|
|
|
// 当前图像类型
|
|
|
CString str_CurrentImgType; // 两种 EO图像/IR图像
|
|
|
|
|
|
// 是否按下鼠标中键
|
|
|
BOOL m_bMButtonDown; // TRUE: 按下鼠标中键 FALSE: 抬起鼠标中键
|
|
|
private:
|
|
|
CUDPSocket m_UdpSend2Payload;
|
|
|
bool m_bCreatUDP;
|
|
|
//CControlDlgFH96Page1* m_CControlDlgFH96Page1Dlg;
|
|
|
CDlgCameraCtrl * p_DlgCameraCtrl;
|
|
|
|
|
|
public:
|
|
|
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
|
|
|
|
|
// 视频全屏显示
|
|
|
BOOL m_bVideoShowFullScreen; // TRUE: 视频全屏显示 FALSE: 视频非全屏显示
|
|
|
void VideoShowFullScreenONOFF();
|
|
|
|
|
|
// 串口类, 连接视频键盘
|
|
|
CSerial m_Serial; // 串口
|
|
|
void DlgLanguageSet();
|
|
|
afx_msg void OnBnClickedBtnMulticastsocketreceive();
|
|
|
afx_msg void OnBnClickedBtnCaptureVideo();
|
|
|
// 图像显示界面左键双击,目标跟踪
|
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
|
// 图像显示界面右键单击,手动模式
|
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
|
// 图像显示界面摁住鼠标中键拖动,控制伺服
|
|
|
afx_msg void OnMButtonDown(UINT nFlags, CPoint point);
|
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
|
afx_msg void OnMButtonUp(UINT nFlags, CPoint point);
|
|
|
// 计算拖动鼠标时,偏移量形成的角度
|
|
|
double GetOffsetAngle(int X, int Y);
|
|
|
};
|