// DlgWHTJDCNew.cpp : 实现文件 #include "stdafx.h" #include "DlgWHTJDCNew.h" #include "afxdialogex.h" /*组播发送*/ #include #include #include //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_SCanModelDirSpeed(_T("")) , m_SCanModelPitchSpeed(_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_Control(pDX, IDC_BTN_WHTJDC_NEW45, DC13InsBtn[44]); //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_SCanModelDirSpeed); DDX_Text(pDX, IDC_EDIT_WHTD_2, m_SCanModelPitchSpeed); 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<45;++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("1"); CWnd* pWnd3 = GetDlgItem(IDC_EDIT_WHTD_2); pWnd3->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_2)->SetWindowText("1"); CWnd* pWnd4 = GetDlgItem(IDC_EDIT_WHTD_3); pWnd4->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_3)->SetWindowText("10.00"); CWnd* pWnd5 = GetDlgItem(IDC_EDIT_WHTD_4); pWnd5->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_4)->SetWindowText("10.00"); CWnd* pWnd6 = GetDlgItem(IDC_EDIT_WHTD_5); pWnd6->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_5)->SetWindowText("4.3"); CWnd* pWnd7 = GetDlgItem(IDC_EDIT_WHTD_6); pWnd7->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_6)->SetWindowText("20"); CWnd* pWnd8 = GetDlgItem(IDC_EDIT_WHTD_7); pWnd8->SetFont(&m_font2); GetDlgItem(IDC_EDIT_WHTD_7)->SetWindowText("20"); 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 45: UpdateFrame45((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); } if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW45)->m_hWnd) { g_WHTJDCCmdNum = 45; 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]=0x34; 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(!IsPositiveNumber(m_SCanModelPitchSpeed)||!IsPositiveNumber(m_SCanModelDirSpeed)) { MessageBox(_T("请输入正数!")); return; } float SCanModelPitchSpeed,SCanModelDirSpeed; SCanModelPitchSpeed = _ttof(m_SCanModelPitchSpeed); SCanModelDirSpeed = _ttof(m_SCanModelDirSpeed); if(SCanModelDirSpeed<0||SCanModelDirSpeed>100) { MessageBox(_T("方位扫描速度设置范围[0,180]!")); return; } if(SCanModelPitchSpeed<0||SCanModelPitchSpeed>180) { MessageBox(_T("俯仰扫描速度设置范围[0,180]!")); return; } UINT16 UINT16SCanModelDirSpeed,UINT16SCanModelPitchSpeed; UINT16SCanModelDirSpeed = (UINT16)(SCanModelDirSpeed*10); UINT16SCanModelPitchSpeed = (UINT16)(SCanModelPitchSpeed*10); TJDCCmdBuffer[0]=0x02; TJDCCmdBuffer[1]=0x79; TJDCCmdBuffer[2]=UINT16SCanModelDirSpeed; TJDCCmdBuffer[3]=UINT16SCanModelDirSpeed>>8; TJDCCmdBuffer[4]=UINT16SCanModelPitchSpeed; TJDCCmdBuffer[5]=UINT16SCanModelPitchSpeed>>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::UpdateFrame45(int &sendEnd) { if(sendEnd==0) { TJDCCmdBuffer[0]=0x02; TJDCCmdBuffer[1]=0x45; TJDCCmdBuffer[2]=0x05; TJDCCmdBuffer[3]=0x00; TJDCCmdBuffer[4]=0x00; TJDCCmdBuffer[5]=0x00; TJDCCmdBuffer[6]=0x00; 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 = 7; break; case 4: DirAndPitchCrlSize = 10; break; case 5: DirAndPitchCrlSize = 15; break; case 6: DirAndPitchCrlSize = 20; break; case 7: DirAndPitchCrlSize = 25; break; case 8: DirAndPitchCrlSize = 30; break; default: DirAndPitchCrlSize = 10; break; } } void DlgWHTJDCNew::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if(SelectPointTrack) { CPoint point_g; GetCursorPos(&point_g); SelectPointTrack = false; } CDialogEx::OnLButtonDown(nFlags, point); }