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.

1713 lines
43 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.

// DlgWHTJDCNew.cpp : 实现文件
#include "stdafx.h"
#include "DlgWHTJDCNew.h"
#include "afxdialogex.h"
/*组播发送*/
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
//tag_RecBind
HWND g_hwndWHTJDCNew = nullptr;
//线程函数 单次
void ThreadWHTJDCNew()
{
//发送消息
::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)0);
Sleep(50);
::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)1);
}
//线程函数 连续
void ThreadWHTJDCNew2()
{
do
{
::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)0);
Sleep(80);
}
while(g_bBindData==true);//按钮抬起g_bBindData变成fasle循环结束
//::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)1);
}
IMPLEMENT_DYNAMIC(DlgWHTJDCNew, CDialogEx)
DlgWHTJDCNew::DlgWHTJDCNew(CWnd* pParent /*=NULL*/)
: CDialogEx(DlgWHTJDCNew::IDD, pParent)
, m_TarTakTemSizeSetWidth(_T(""))
, m_TarTakTemSizeSetHigth(_T(""))
, m_FocalDistanceSet(_T(""))
, m_DigitalGuidanceDir(_T(""))
, m_DigitalGuidancePitch(_T(""))
, m_SCanModelAngle(_T(""))
, m_SCanModelSpeed(_T(""))
, m_DirSCanSetCentre(_T(""))
, m_DirSCanSetRange(_T(""))
, m_PitchSCanSetCentre(_T(""))
, m_PitchSCanSetRange(_T(""))
{
CharacterSuperpositionSet = 0;
FogThroughMode = 0;
PseudoColorSwitch = 0;
FocalDistanceSIZE = 3;
DirAndPitchCrlSize = 8;
}
DlgWHTJDCNew::~DlgWHTJDCNew()
{
}
void DlgWHTJDCNew::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW, DC13InsBtn[0]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW2, DC13InsBtn[1]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW3, DC13InsBtn[2]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW4, DC13InsBtn[3]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW5, DC13InsBtn[4]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW6, DC13InsBtn[5]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW7, DC13InsBtn[6]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW8, DC13InsBtn[7]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW9, DC13InsBtn[8]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW10, DC13InsBtn[9]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW11, DC13InsBtn[10]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW12, DC13InsBtn[11]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW13, DC13InsBtn[12]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW14, DC13InsBtn[13]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW15, DC13InsBtn[14]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW16, DC13InsBtn[15]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW17, DC13InsBtn[16]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW18, DC13InsBtn[17]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW19, DC13InsBtn[18]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW20, DC13InsBtn[19]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW21, DC13InsBtn[20]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW22, DC13InsBtn[21]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW23, DC13InsBtn[22]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW24, DC13InsBtn[23]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW25, DC13InsBtn[24]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW26, DC13InsBtn[25]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW27, DC13InsBtn[26]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW28, DC13InsBtn[27]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW29, DC13InsBtn[28]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW30, DC13InsBtn[29]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW31, DC13InsBtn[30]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW32, DC13InsBtn[31]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW33, DC13InsBtn[32]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW34, DC13InsBtn[33]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW35, DC13InsBtn[34]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW36, DC13InsBtn[35]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW37, DC13InsBtn[36]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW38, DC13InsBtn[37]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW39, DC13InsBtn[38]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW40, DC13InsBtn[39]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW41, DC13InsBtn[40]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW42, DC13InsBtn[41]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW43, DC13InsBtn[42]);
DDX_Control(pDX, IDC_BTN_WHTJDC_NEW44, DC13InsBtn[43]);
//DDX_Text(pDX, IDC_EDIT_Pitch_Param, Param1);
//DDX_Text(pDX, IDC_EDIT_Dir_Param, Param2);
DDX_Control(pDX, IDC_BUTTON1, m_DCFlyCmd[0]);//吊舱通道1
DDX_Control(pDX, IDC_BUTTON2, m_DCFlyCmd[1]);//吊舱通道2
DDX_Control(pDX, IDC_BUTTON3, m_DCFlyCmd[2]);
DDX_Control(pDX, IDC_BUTTON4, m_DCFlyCmd[3]);
DDX_Control(pDX, IDC_BUTTON5, m_DCFlyCmd[4]);
DDX_Control(pDX, IDC_BUTTON6, m_DCFlyCmd[5]);
DDX_Control(pDX, IDC_BUTTON7, m_DCFlyCmd[6]);
DDX_Control(pDX, IDC_BUTTON8, m_DCFlyCmd[7]);
DDX_Control(pDX, IDC_BUTTON9, m_DCFlyCmd[8]);
DDX_Control(pDX, IDC_BUTTON10, m_DCFlyCmd[9]);
DDX_Control(pDX, IDC_BUTTON11, m_DCFlyCmd[10]);
DDX_Control(pDX, IDC_BUTTON12, m_DCFlyCmd[11]);
DDX_Text(pDX, IDC_EDIT_WHTD_6, m_TarTakTemSizeSetWidth);
DDX_Text(pDX, IDC_EDIT_WHTD_7, m_TarTakTemSizeSetHigth);
DDX_Text(pDX, IDC_EDIT_WHTD_5, m_FocalDistanceSet);
DDX_Text(pDX, IDC_EDIT_WHTD_3, m_DigitalGuidanceDir);
DDX_Text(pDX, IDC_EDIT_WHTD_4, m_DigitalGuidancePitch);
DDX_Text(pDX, IDC_EDIT_WHTD_1, m_SCanModelAngle);
DDX_Text(pDX, IDC_EDIT_WHTD_2, m_SCanModelSpeed);
DDX_Text(pDX, IDC_EDIT_WHTD_8, m_DirSCanSetCentre);
DDX_Text(pDX, IDC_EDIT_WHTD_9, m_DirSCanSetRange);
DDX_Text(pDX, IDC_EDIT_WHTD_10, m_PitchSCanSetCentre);
DDX_Text(pDX, IDC_EDIT_WHTD_11, m_PitchSCanSetRange);
}
BOOL DlgWHTJDCNew::OnInitDialog()
{
CDialogEx::OnInitDialog();
CenterWindow();
g_hwndWHTJDCNew = this->GetSafeHwnd();
CFont m_oFont;//字体
m_oFont.CreatePointFont(80, _T("Times New Roman"),NULL);
for(int i = 0;i<44;++i)
{
//DC13InsBtn[i].SetTextColor(RGB(255,255,255));
//DC13InsBtn[i].SetFont(&m_oFont);
//DC13InsBtn[i].SetFaceColor(RGB(54,54,54),true);
if(i==0||i==1||i==2||i==3||i==6||i==7||i==29||i==33)
{
DC13InsBtn[i].SetTextColor(RGB(0,0,0));
DC13InsBtn[i].SetFont(&m_oFont);
DC13InsBtn[i].SetFaceColor(RGB(133,220,49),true);
}
else
{
DC13InsBtn[i].SetTextColor(RGB(0,0,0));
DC13InsBtn[i].SetFont(&m_oFont);
DC13InsBtn[i].SetFaceColor(RGB(204,255,255),true);
}
}
CFont m_font;
m_font.CreatePointFont(100,_T("宋体"),NULL);
//CWnd* pWnd = GetDlgItem(IDC_STATIC_PitchAndDir);
//pWnd->SetFont(&m_font);
CFont m_font2;
m_font2.CreatePointFont(120,_T("宋体"),NULL);
CWnd* pWnd2 = GetDlgItem(IDC_EDIT_WHTD_1);
pWnd2->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_1)->SetWindowText("100");
CWnd* pWnd3 = GetDlgItem(IDC_EDIT_WHTD_2);
pWnd3->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_2)->SetWindowText("5");
CWnd* pWnd4 = GetDlgItem(IDC_EDIT_WHTD_3);
pWnd4->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_3)->SetWindowText("0.00");
CWnd* pWnd5 = GetDlgItem(IDC_EDIT_WHTD_4);
pWnd5->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_4)->SetWindowText("0.00");
CWnd* pWnd6 = GetDlgItem(IDC_EDIT_WHTD_5);
pWnd6->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_5)->SetWindowText("0.0");
CWnd* pWnd7 = GetDlgItem(IDC_EDIT_WHTD_6);
pWnd7->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_6)->SetWindowText("0");
CWnd* pWnd8 = GetDlgItem(IDC_EDIT_WHTD_7);
pWnd8->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_7)->SetWindowText("0");
CWnd* pWnd9 = GetDlgItem(IDC_EDIT_WHTD_8);
pWnd9->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_8)->SetWindowText("0");
CWnd* pWnd10 = GetDlgItem(IDC_EDIT_WHTD_9);
pWnd10->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_9)->SetWindowText("100");
CWnd* pWnd11 = GetDlgItem(IDC_EDIT_WHTD_10);
pWnd11->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_10)->SetWindowText("-15");
CWnd* pWnd12 = GetDlgItem(IDC_EDIT_WHTD_11);
pWnd12->SetFont(&m_font2);
GetDlgItem(IDC_EDIT_WHTD_11)->SetWindowText("50");
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(0,_TEXT("自定义大小"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(1,_TEXT("小模版(16*16)"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(2,_TEXT("中模版(32*32)"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(3,_TEXT("大模版(64*64)"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(4,_TEXT("超大模版(128*128)"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->SetCurSel(0);
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(0,_TEXT("非常慢"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(1,_TEXT("很慢"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(2,_TEXT("较慢"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(3,_TEXT(""));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(4,_TEXT("中等"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(5,_TEXT(""));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(6,_TEXT("较快"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(7,_TEXT("很快"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(8,_TEXT("非常快"));
((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->SetCurSel(4);
for(int i=0;i<12;++i)
{
m_DCFlyCmd[i].Cmd=i+1;
m_DCFlyCmd[i].Cmdpage = 20;//这里的页面标志设置为20
m_DCFlyCmd[i].SetTextColor(RGB(0,0,0));
m_DCFlyCmd[i].SetFont(&m_oFont);
m_DCFlyCmd[i].SetFaceColor(RGB(24,225,255),true);
}
memset(TJDCCmdBuffer,0,sizeof(TJDCCmdBuffer));
return TRUE;
}
BEGIN_MESSAGE_MAP(DlgWHTJDCNew, CDialogEx)
ON_MESSAGE(WM_WHTJDC_UPDAFRAME, &DlgWHTJDCNew::OnUpdateWHTJDCFrame)
ON_WM_CTLCOLOR()
ON_CBN_SELCHANGE(IDC_COMBO_TJDC_2, &DlgWHTJDCNew::OnCbnSelchangeComboTjdc2)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
// DlgWHTJDCNew 消息处理程序
//接收线程来的消息,处理消息
afx_msg LRESULT DlgWHTJDCNew::OnUpdateWHTJDCFrame(WPARAM wParam, LPARAM lParam)
{
switch ((int)wParam)
{
case 0:
UpdateFrame();
break;
case 2:
UpdateFrame2();
break;
case 3:
UpdateFrame3();
break;
case 4:
UpdateFrame4();
break;
case 5:
UpdateFrame5((int&)lParam);
break;
case 6:
UpdateFrame6((int&)lParam);
break;
case 7:
UpdateFrame7();
break;
case 8:
UpdateFrame8();
break;
case 9:
UpdateFrame9((int&)lParam);
break;
case 10:
UpdateFrame10((int&)lParam);
break;
case 11:
UpdateFrame11((int&)lParam);
break;
case 12:
UpdateFrame12((int&)lParam);
break;
case 13:
UpdateFrame13((int&)lParam);
break;
case 14:
UpdateFrame14((int&)lParam);
break;
case 15:
UpdateFrame15((int&)lParam);
break;
case 16:
UpdateFrame16((int&)lParam);
break;
case 17:
UpdateFrame17((int&)lParam);
break;
case 18:
UpdateFrame18((int&)lParam);
break;
case 19:
UpdateFrame19((int&)lParam);
break;
case 20:
UpdateFrame20((int&)lParam);
break;
case 21:
UpdateFrame21((int&)lParam);
break;
case 22:
UpdateFrame22((int&)lParam);
break;
case 23:
UpdateFrame23((int&)lParam);
break;
case 24:
UpdateFrame24((int&)lParam);
break;
case 25:
UpdateFrame25((int&)lParam);
break;
case 26:
UpdateFrame26((int&)lParam);
break;
case 27:
UpdateFrame27((int&)lParam);
break;
case 28:
UpdateFrame28((int&)lParam);
break;
case 29:
UpdateFrame29((int&)lParam);
break;
case 30:
UpdateFrame30();
break;
case 31:
UpdateFrame31((int&)lParam);
break;
case 32:
UpdateFrame32((int&)lParam);
break;
case 33:
UpdateFrame33((int&)lParam);
break;
case 34:
UpdateFrame34();
break;
case 35:
UpdateFrame35((int&)lParam);
break;
case 36:
UpdateFrame36((int&)lParam);
break;
case 37:
UpdateFrame37((int&)lParam);
break;
case 38:
UpdateFrame38((int&)lParam);
break;
case 39:
UpdateFrame39((int&)lParam);
break;
case 40:
UpdateFrame40((int&)lParam);
break;
case 41:
UpdateFrame41((int&)lParam);
break;
case 43:
UpdateFrame43((int&)lParam);
break;
case 44:
UpdateFrame44((int&)lParam);
break;
case 100:
UpdateFrame100((int&)lParam);
break;
case 101:
UpdateFrame101((int&)lParam);
break;
default:
break;
}
//if((int&)lParam == 0)
//{
// if(g_IsSending){
// g_MUDPCamera.SendToY(DCFrameCkCmdWHTJ.Addr(), 20);
// }
//}
return 0;
}
//更新13所吊舱控制指令 按钮按下,分类进行处理。
//对于重复发送的指令直接赋值直至按钮抬起装订标志变为false发送停止
//对于只发送一次的指令开启一个线程线程中相差100ms发送先后发送赋值和清空操作。赋值期间指令发送(GCSView::Setp函数),清空后指令不再发送。
void DlgWHTJDCNew::UpdateWHTJDCCmdBuffer(HWND hwnd)
{
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW)->m_hWnd)
{
g_WHTJDCCmdNum = 0;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW2)->m_hWnd)
{
g_WHTJDCCmdNum = 2;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW3)->m_hWnd)
{
g_WHTJDCCmdNum = 3;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW4)->m_hWnd)
{
g_WHTJDCCmdNum = 4;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW5)->m_hWnd)
{
g_WHTJDCCmdNum = 5;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW6)->m_hWnd)
{
g_WHTJDCCmdNum = 6;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW7)->m_hWnd)
{
g_WHTJDCCmdNum = 7;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW8)->m_hWnd)
{
g_WHTJDCCmdNum = 8;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW9)->m_hWnd)
{
g_WHTJDCCmdNum = 9;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW10)->m_hWnd)
{
g_WHTJDCCmdNum = 10;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW11)->m_hWnd)
{
g_WHTJDCCmdNum = 11;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW12)->m_hWnd)
{
g_WHTJDCCmdNum = 12;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW13)->m_hWnd)
{
g_WHTJDCCmdNum = 13;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW14)->m_hWnd)
{
//UpdateFrame14();
g_WHTJDCCmdNum = 14;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW15)->m_hWnd)
{
//UpdateFrame15();
g_WHTJDCCmdNum = 15;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW16)->m_hWnd)
{
g_WHTJDCCmdNum = 16;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW17)->m_hWnd)
{
g_WHTJDCCmdNum = 17;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW18)->m_hWnd)
{
g_WHTJDCCmdNum = 18;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW19)->m_hWnd)
{
g_WHTJDCCmdNum = 19;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW20)->m_hWnd)
{
//UpdateFrame20();
g_WHTJDCCmdNum = 20;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW21)->m_hWnd)
{
//UpdateFrame21();
g_WHTJDCCmdNum = 21;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW22)->m_hWnd)
{
g_WHTJDCCmdNum = 22;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW23)->m_hWnd)
{
g_WHTJDCCmdNum = 23;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW24)->m_hWnd)
{
g_WHTJDCCmdNum = 24;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW25)->m_hWnd)
{
g_WHTJDCCmdNum = 25;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW26)->m_hWnd)
{
g_WHTJDCCmdNum = 26;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW27)->m_hWnd)
{
g_WHTJDCCmdNum = 27;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW28)->m_hWnd)
{
g_WHTJDCCmdNum = 28;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW29)->m_hWnd)
{
g_WHTJDCCmdNum = 29;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW30)->m_hWnd)
{
g_WHTJDCCmdNum = 30;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW31)->m_hWnd)
{
g_WHTJDCCmdNum = 31;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW32)->m_hWnd)
{
g_WHTJDCCmdNum = 32;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW33)->m_hWnd)
{
g_WHTJDCCmdNum = 33;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW34)->m_hWnd)
{
g_WHTJDCCmdNum = 34;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW35)->m_hWnd)
{
g_WHTJDCCmdNum = 35;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW36)->m_hWnd)
{
g_WHTJDCCmdNum = 36;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW37)->m_hWnd)
{
g_WHTJDCCmdNum = 37;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW38)->m_hWnd)
{
g_WHTJDCCmdNum = 38;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW39)->m_hWnd)
{
g_WHTJDCCmdNum = 39;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW40)->m_hWnd)
{
g_WHTJDCCmdNum = 40;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW41)->m_hWnd)
{
g_WHTJDCCmdNum = 41;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW43)->m_hWnd)
{
g_WHTJDCCmdNum = 43;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW44)->m_hWnd)
{
g_WHTJDCCmdNum = 44;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
}
}
void DlgWHTJDCNew::UpdateDataZ70_TJDC()
{
DCFrameCkCmdWHTJ.Data.fcode=0x70;
DCFrameCkCmdWHTJ.Data.dataInject_DC.DCtype = TJDCCmdBuffer[0];//0x02
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param = TJDCCmdBuffer[1];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param2 = TJDCCmdBuffer[2];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param3 = TJDCCmdBuffer[3];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param4 = TJDCCmdBuffer[4];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param5 = TJDCCmdBuffer[5];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param6 = TJDCCmdBuffer[6];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param7 = TJDCCmdBuffer[7];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param8 = TJDCCmdBuffer[8];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param9 = TJDCCmdBuffer[9];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param10 = TJDCCmdBuffer[10];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param11 = TJDCCmdBuffer[11];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param12 = TJDCCmdBuffer[12];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param13 = TJDCCmdBuffer[13];
DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param14 = TJDCCmdBuffer[14];
DCFrameCkCmdWHTJ.SendPrepare();
if(g_IsSending){
g_MUDPCamera.SendToY(DCFrameCkCmdWHTJ.Addr(), 20);
}
//TJDCCmdBuffer清空
memset(TJDCCmdBuffer,0,sizeof(TJDCCmdBuffer));
}
void DlgWHTJDCNew::UpdateFrame()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[6]=0x70;
TJDCCmdBuffer[7]=0x00;
TJDCCmdBuffer[8]=0x00;
TJDCCmdBuffer[9]=DirAndPitchCrlSize;
TJDCCmdBuffer[10]=DirAndPitchCrlSize>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame2()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[6]=0x70;
TJDCCmdBuffer[7]=0x00;
TJDCCmdBuffer[8]=0x00;
TJDCCmdBuffer[9]=-DirAndPitchCrlSize;
TJDCCmdBuffer[10]=-DirAndPitchCrlSize>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame3()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[6]=0x70;
TJDCCmdBuffer[7]=-DirAndPitchCrlSize;
TJDCCmdBuffer[8]=-DirAndPitchCrlSize>>8;
TJDCCmdBuffer[9]=0x00;
TJDCCmdBuffer[10]=0x00;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame4()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[6]=0x70;
TJDCCmdBuffer[7]=DirAndPitchCrlSize;
TJDCCmdBuffer[8]=DirAndPitchCrlSize>>8;
TJDCCmdBuffer[9]=0x00;
TJDCCmdBuffer[10]=0x00;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame5(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x71;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame6(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x31;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame7()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x45;
TJDCCmdBuffer[2]=0x03;
TJDCCmdBuffer[3]=FocalDistanceSIZE;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame8()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x45;
TJDCCmdBuffer[2]=0x04;
TJDCCmdBuffer[3]=FocalDistanceSIZE;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame9(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3A;
TJDCCmdBuffer[2]=0x00;
TJDCCmdBuffer[3]=0x00;
TJDCCmdBuffer[4]=0x00;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame10(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x32;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame11(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x33;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame12(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x37;
if(CharacterSuperpositionSet==0){CharacterSuperpositionSet = 1;}
else if(CharacterSuperpositionSet==1){CharacterSuperpositionSet = 2;}
else if(CharacterSuperpositionSet==2){CharacterSuperpositionSet = 0;}
TJDCCmdBuffer[2]=CharacterSuperpositionSet;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame13(int &sendEnd)
{
if(sendEnd==0)
{
SelectPointTrack = true;
//TJDCCmdBuffer[0]=0x02;
//TJDCCmdBuffer[1]=0x3A;
//TJDCCmdBuffer[2]=0x00;
//TJDCCmdBuffer[3]=0x00;
//TJDCCmdBuffer[4]=0x00;
//TJDCCmdBuffer[5]=0x00;
//UpdateDataZ70_TJDC();
g_bBindData = true;
//MessageBox(_T("地面站不支持选点跟踪功能,默认选择图像中心"));
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame13_1()
{
//x1 m_wndShowEO_Position_Max_x
//y1 m_wndShowEO_Position_Max_y
//x2 g_TrackOffset.x
//y2 g_TrackOffset.y
//double k1 = (float)1920/1080;
//获取实际图像区域坐标
//x,y实际图像区域坐标b实际图像区域和软件图像区域x方向偏移量k比例系数
int x,y,b;
float k;
k = 1080/m_wndShowEO_Position_Max_y;
y = g_TrackOffset.y * k;
b = 0.5*(m_wndShowEO_Position_Max_x * k-1920);
x = (g_TrackOffset.x - b) * k;
if(x<0||x>1920)
{
return;
}
//转化为吊舱控制指令坐标中心为零x范围[-960,960],y范围[-540,540];
int xx = x-960;
int yy = y-540;
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3A;
TJDCCmdBuffer[2]=xx;
TJDCCmdBuffer[3]=xx>>8;
TJDCCmdBuffer[4]=yy;
TJDCCmdBuffer[5]=yy>>8;
UpdateDataZ70_TJDC();
SelectPointTrack = false;
}
void DlgWHTJDCNew::UpdateFrame14(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x36;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame15(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3D;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame16(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x34;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame17(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x33;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame18(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x33;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame19(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3B;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame20(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsPositiveInteger(m_TarTakTemSizeSetWidth)||!IsPositiveInteger(m_TarTakTemSizeSetHigth))
{
MessageBox(_T("请输入一个0-255的正整数"));
return;
}
int TarTakTemSizeSetWidth,TarTakTemSizeSetHigth;
TarTakTemSizeSetWidth = _ttoi(m_TarTakTemSizeSetWidth);
TarTakTemSizeSetHigth = _ttoi(m_TarTakTemSizeSetHigth);
if(TarTakTemSizeSetWidth<0||TarTakTemSizeSetWidth>255||TarTakTemSizeSetHigth<0||TarTakTemSizeSetHigth>255)
{
MessageBox(_T("目标跟踪模板大小设置范围0-255"));
return;
}
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x23;
int m_TDFlag = ((CComboBox*)GetDlgItem(IDC_COMBO_TJDC_1))->GetCurSel();//获得IDC_COMBO_TJDC_1按钮的当前选择
switch (m_TDFlag)
{
case 0:
TJDCCmdBuffer[2]=0x00;
TJDCCmdBuffer[3]=0;
TJDCCmdBuffer[4]=TarTakTemSizeSetWidth;
TJDCCmdBuffer[5]=TarTakTemSizeSetHigth;
break;
case 1:
TJDCCmdBuffer[2]=0x01;
TJDCCmdBuffer[3]=0;
TJDCCmdBuffer[4]=0;
TJDCCmdBuffer[5]=0;
break;
case 2:
TJDCCmdBuffer[2]=0x02;
TJDCCmdBuffer[3]=0;
TJDCCmdBuffer[4]=0;
TJDCCmdBuffer[5]=0;
break;
case 3:
TJDCCmdBuffer[2]=0x03;
TJDCCmdBuffer[3]=0;
TJDCCmdBuffer[4]=0;
TJDCCmdBuffer[5]=0;
break;
case 4:
TJDCCmdBuffer[2]=0x04;
TJDCCmdBuffer[3]=0;
TJDCCmdBuffer[4]=0;
TJDCCmdBuffer[5]=0;
break;
default:
break;
}
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame21(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x38;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame22(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3E;
TJDCCmdBuffer[2]=0x02;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame23(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x53;
TJDCCmdBuffer[2]=0x01;
if(PseudoColorSwitch==0){PseudoColorSwitch = 1;}
else if(PseudoColorSwitch==1){PseudoColorSwitch = 2;}
else if(PseudoColorSwitch==2){PseudoColorSwitch = 3;}
else if(PseudoColorSwitch==3){PseudoColorSwitch = 4;}
else if(PseudoColorSwitch==4){PseudoColorSwitch = 5;}
else if(PseudoColorSwitch==5){PseudoColorSwitch = 6;}
else if(PseudoColorSwitch==6){PseudoColorSwitch = 7;}
else if(PseudoColorSwitch==7){PseudoColorSwitch = 8;}
else if(PseudoColorSwitch==8){PseudoColorSwitch = 9;}
else if(PseudoColorSwitch==9){PseudoColorSwitch = 10;}
else if(PseudoColorSwitch==10){PseudoColorSwitch = 0;}
TJDCCmdBuffer[3]=PseudoColorSwitch;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame24(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x56;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame25(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x54;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame26(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x57;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame27(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x79;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame28(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x73;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame29(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x3F;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame30()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x45;
TJDCCmdBuffer[2]=0x01;
TJDCCmdBuffer[3]=FocalDistanceSIZE;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame31(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x4A;
if(FogThroughMode==0){FogThroughMode = 1;}
else if(FogThroughMode==1){FogThroughMode = 2;}
else if(FogThroughMode==2){FogThroughMode = 0;}
TJDCCmdBuffer[2]=FogThroughMode;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame32(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x75;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame33(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x7B;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame34()
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x45;
TJDCCmdBuffer[2]=0x02;
TJDCCmdBuffer[3]=FocalDistanceSIZE;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
void DlgWHTJDCNew::UpdateFrame35(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x4B;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame36(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsPositiveNumber(m_FocalDistanceSet))
{
MessageBox(_T("请输入[4.3,129.0]之间的正数"));
return;
}
float FocalDistanceSet;
FocalDistanceSet = _ttof(m_FocalDistanceSet);
if(FocalDistanceSet<0.0||FocalDistanceSet>129.0)
{
MessageBox("焦距设置有效范围[4.3,129.0]");
return;
}
UINT16 UINT16FocalDistanceSet;
UINT16FocalDistanceSet = (UINT16)(FocalDistanceSet*10);
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x4C;
TJDCCmdBuffer[2]=UINT16FocalDistanceSet;
TJDCCmdBuffer[3]=UINT16FocalDistanceSet>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame37(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x74;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame38(int &sendEnd)
{
if(sendEnd==0)
{
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x7A;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame39(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsNumber(m_DigitalGuidanceDir)||!IsNumber(m_DigitalGuidancePitch))
{
MessageBox(_T("请输入数字!"));
return;
}
float DigitalGuidanceDir,DigitalGuidancePitch;
DigitalGuidanceDir = _ttof(m_DigitalGuidanceDir);
DigitalGuidancePitch = _ttof(m_DigitalGuidancePitch);
if(DigitalGuidanceDir<-180||DigitalGuidanceDir>180)
{
MessageBox(_T("数字导引方位设置范围[-180.00,180.00]"));
return;
}
if(DigitalGuidancePitch<-120||DigitalGuidancePitch>90)
{
MessageBox(_T("数字导引俯仰设置范围[-120.00,90.00]"));
return;
}
INT16 UINT16DigitalGuidanceDir,UINT16DigitalGuidancePitch;
UINT16DigitalGuidanceDir = (INT16)(DigitalGuidanceDir*100);
UINT16DigitalGuidancePitch = (INT16)(DigitalGuidancePitch*100);
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x72;
TJDCCmdBuffer[2]=UINT16DigitalGuidanceDir;
TJDCCmdBuffer[3]=UINT16DigitalGuidanceDir>>8;
TJDCCmdBuffer[4]=UINT16DigitalGuidancePitch;
TJDCCmdBuffer[5]=UINT16DigitalGuidancePitch>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame40(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsPositiveInteger(m_SCanModelSpeed)||!IsPositiveInteger(m_SCanModelAngle))
{
MessageBox(_T("请输入正整数!"));
return;
}
INT16 SCanModelSpeed,SCanModelAngle;
SCanModelSpeed = _ttoi(m_SCanModelSpeed);
SCanModelAngle = _ttoi(m_SCanModelAngle);
if(SCanModelAngle<0||SCanModelAngle>180)
{
MessageBox(_T("扫描角度设置范围0-180"));
return;
}
if(SCanModelSpeed<0||SCanModelSpeed>100)
{
MessageBox(_T("扫描速度设置范围0-100"));
return;
}
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x79;
TJDCCmdBuffer[2]=SCanModelAngle;
TJDCCmdBuffer[3]=SCanModelAngle>>8;
TJDCCmdBuffer[4]=SCanModelSpeed;
TJDCCmdBuffer[5]=SCanModelSpeed>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame41(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsNumber(m_DigitalGuidanceDir)||!IsNumber(m_DigitalGuidancePitch))
{
MessageBox(_T("请输入数字!"));
return;
}
float DigitalGuidanceDir,DigitalGuidancePitch;
DigitalGuidanceDir = _ttof(m_DigitalGuidanceDir);
DigitalGuidancePitch = _ttof(m_DigitalGuidancePitch);
if(DigitalGuidanceDir<-180||DigitalGuidanceDir>180)
{
MessageBox(_T("姿态指引方位设置范围[-180.00,180.00]"));
return;
}
if(DigitalGuidancePitch<-120||DigitalGuidancePitch>90)
{
MessageBox(_T("姿态指引俯仰设置范围[-120.00,90.00]"));
return;
}
INT16 UINT16DigitalGuidanceDir,UINT16DigitalGuidancePitch;
UINT16DigitalGuidanceDir = (INT16)(DigitalGuidanceDir*100);
UINT16DigitalGuidancePitch = (INT16)(DigitalGuidancePitch*100);
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x7C;
TJDCCmdBuffer[2]=UINT16DigitalGuidanceDir;
TJDCCmdBuffer[3]=UINT16DigitalGuidanceDir>>8;
TJDCCmdBuffer[4]=UINT16DigitalGuidancePitch;
TJDCCmdBuffer[5]=UINT16DigitalGuidancePitch>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame43(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsPositiveInteger(m_DirSCanSetCentre)||!IsPositiveInteger(m_DirSCanSetRange))
{
MessageBox(_T("请输入正整数!"));
return;
}
INT16 DirSCanSetCentre,DirSCanSetRange;
DirSCanSetCentre = _ttoi(m_DirSCanSetCentre);
DirSCanSetRange = _ttoi(m_DirSCanSetRange);
if(DirSCanSetCentre<0||DirSCanSetCentre>360)
{
MessageBox(_T("方位扫描中心点设置范围0-360"));
return;
}
if(DirSCanSetRange<0||DirSCanSetRange>180)
{
MessageBox(_T("方位扫描范围设置范围0-180"));
return;
}
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x77;
TJDCCmdBuffer[2]=DirSCanSetCentre;
TJDCCmdBuffer[3]=DirSCanSetCentre>>8;
TJDCCmdBuffer[4]=DirSCanSetRange;
TJDCCmdBuffer[5]=DirSCanSetRange>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame44(int &sendEnd)
{
if(sendEnd==0)
{
if(!UpdateData(TRUE))//更新对话框对应的变量内容
{
MessageBox(_T("请输入正确数据!!!"));
return;
}
if(!IsInteger(m_PitchSCanSetCentre))
{
MessageBox(_T("俯仰扫描中心点设置为整数!"));
return;
}
if(!IsPositiveInteger(m_PitchSCanSetRange))
{
MessageBox(_T("俯仰扫描范围设置为正整数!"));
return;
}
INT16 PitchSCanSetCentre,PitchSCanSetRange;
PitchSCanSetCentre = _ttoi(m_PitchSCanSetCentre);
PitchSCanSetRange = _ttoi(m_PitchSCanSetRange);
if(PitchSCanSetCentre<-180||PitchSCanSetCentre>180)
{
MessageBox(_T("俯仰扫描中心点设置范围-180-180"));
return;
}
if(PitchSCanSetRange<0||PitchSCanSetRange>180)
{
MessageBox(_T("俯仰扫描范围设置范围0-180"));
return;
}
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x78;
TJDCCmdBuffer[2]=PitchSCanSetCentre;
TJDCCmdBuffer[3]=PitchSCanSetCentre>>8;
TJDCCmdBuffer[4]=PitchSCanSetRange;
TJDCCmdBuffer[5]=PitchSCanSetRange>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
void DlgWHTJDCNew::UpdateFrame100(int &sendEnd)
{
UpdateFrame28(sendEnd);//垂直下视
}
void DlgWHTJDCNew::UpdateFrame101(int &sendEnd)
{
if(sendEnd==0)
{
//吊舱朝前
INT16 CmdDir,CmdPitch;
CmdDir = 0x0000;
CmdPitch = 0x0000;
TJDCCmdBuffer[0]=0x02;
TJDCCmdBuffer[1]=0x72;
TJDCCmdBuffer[2]=CmdDir;
TJDCCmdBuffer[3]=CmdDir>>8;
TJDCCmdBuffer[4]=CmdPitch;
TJDCCmdBuffer[5]=CmdPitch>>8;
UpdateDataZ70_TJDC();
g_bBindData = true;
}
else
{
g_bBindData = false;
}
}
//0:UpdateFrame101
//1:UpdateFrame100
//2:UpdateFrame13_1
void DlgWHTJDCNew::UpdateTJDCAction(int num)
{
switch(num)
{
case 0:
g_WHTJDCCmdNum = 100;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
break;
case 1:
g_WHTJDCCmdNum = 101;
hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程
CloseHandle(hCheckThread);
break;
case 2:
UpdateFrame13_1();
break;
default:
break;
}
}
//按钮按下、抬起触发此函数
BOOL DlgWHTJDCNew::PreTranslateMessage(MSG* pMsg)
{
if(g_IsSending)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message == WM_LBUTTONDOWN)//按下
{
UpdateWHTJDCCmdBuffer(pMsg->hwnd);
}
if(pMsg->message == WM_LBUTTONUP)//抬起
{
g_bBindData = false;//装订标志变成false
//if(!gCurGCSCtrlFlag)
//{
// if(gComFlags.test(11))//((gCommuFlags & 0x0800) != 0x00) )
// {
// g_DC13FrameCkCmd = g_FrameFKU;
// g_UDPACmdSwi.WriteBuffer(g_DC13FrameCkCmd.Addr(),g_DC13FrameCkCmd.GetFrameLength());//写从控指令转发网口
// }
//}
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
//伺服控制步长选择
void DlgWHTJDCNew::OnCbnSelchangeComboTjdc2()
{
// TODO: 在此添加控件通知处理程序代码
int m_TDFlag = ((CComboBox*)GetDlgItem(IDC_COMBO_TJDC_2))->GetCurSel();//获得IDC_COMBO_TJDC_1按钮的当前选择
switch(m_TDFlag)
{
case 0:
DirAndPitchCrlSize = 1;
break;
case 1:
DirAndPitchCrlSize = 2;
break;
case 2:
DirAndPitchCrlSize = 4;
break;
case 3:
DirAndPitchCrlSize = 6;
break;
case 4:
DirAndPitchCrlSize = 8;
break;
case 5:
DirAndPitchCrlSize = 10;
break;
case 6:
DirAndPitchCrlSize = 12;
break;
case 7:
DirAndPitchCrlSize = 14;
break;
case 8:
DirAndPitchCrlSize = 16;
break;
default:
DirAndPitchCrlSize = 8;
break;
}
}
void DlgWHTJDCNew::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(SelectPointTrack)
{
CPoint point_g;
GetCursorPos(&point_g);
SelectPointTrack = false;
}
CDialogEx::OnLButtonDown(nFlags, point);
}