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.

196 lines
5.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 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);
};