// Dlg13InstituteDCNew.cpp : 实现文件 #include "stdafx.h" #include "Dlg13InstituteDCNew.h" #include "afxdialogex.h" /*组播发送*/ #include #include #include //tag_RecBind HWND g_hwnd13InstituteDCNew = nullptr; //线程函数 赋值一次 void ThreadInstituteDCNew() { //发送消息 ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)0); Sleep(50); ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)1); } //方位俯仰-线程函数80毫秒发送一次 void ThreadInstituteDCNew2() { do { ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)0); Sleep(80); } while(g_bBindData==true);//按钮抬起,g_bBindData变成fasle,循环结束 //::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)1); } IMPLEMENT_DYNAMIC(Dlg13InstituteDCNew, CDialogEx) Dlg13InstituteDCNew::Dlg13InstituteDCNew(CWnd* pParent /*=NULL*/) : CDialogEx(Dlg13InstituteDCNew::IDD, pParent) ,InfraredOrVisibleLight(0) ,Param1(0) ,Param2(0) { SwitchCmd = 0x00; PitchControl = 0x00; DirControl = 0x00; PitchRecord = 0x00; DirRecord = 0x00; mTimerId = 0; num = 0; injectstart = false; } Dlg13InstituteDCNew::~Dlg13InstituteDCNew() { //关闭定时器 if(mTimerId!=0) { timeKillEvent(mTimerId); mTimerId = 0; } } //定时器回调函数 void FAR PASCAL TimeCALLBACK(WORD IDEvent, WORD uReserved, DWORD dwUser, DWORD dwReserved1, DWORD dwReserve2) { Dlg13InstituteDCNew *m_pView = (Dlg13InstituteDCNew *)dwUser; m_pView->TimeStep(dwUser); } //定时器处理 void Dlg13InstituteDCNew::TimeStep(DWORD dwUser) { if (g_IsSending && g_bBindData) { //m_MudpSend.SendData(DCFrameCkCmd13.Addr(),20); //g_DCMUDP.SendTo(DCFrameCkCmd13.Addr(), 20); //g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); } } void Dlg13InstituteDCNew::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW, DC13InsBtn[0]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW2, DC13InsBtn[1]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW3, DC13InsBtn[2]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW4, DC13InsBtn[3]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW5, DC13InsBtn[4]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW6, DC13InsBtn[5]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW7, DC13InsBtn[6]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW8, DC13InsBtn[7]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW9, DC13InsBtn[8]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW10, DC13InsBtn[9]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW11, DC13InsBtn[10]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW12, DC13InsBtn[11]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW13, DC13InsBtn[12]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW14, DC13InsBtn[13]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW15, DC13InsBtn[14]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW16, DC13InsBtn[15]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW17, DC13InsBtn[16]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW18, DC13InsBtn[17]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW19, DC13InsBtn[18]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW20, DC13InsBtn[19]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW21, DC13InsBtn[20]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW22, DC13InsBtn[21]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW23, DC13InsBtn[22]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW24, DC13InsBtn[23]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW25, DC13InsBtn[24]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW26, DC13InsBtn[25]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW27, DC13InsBtn[26]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW28, DC13InsBtn[27]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW29, DC13InsBtn[28]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW30, DC13InsBtn[29]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW31, DC13InsBtn[30]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW32, DC13InsBtn[31]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW33, DC13InsBtn[32]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW34, DC13InsBtn[33]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW35, DC13InsBtn[34]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW36, DC13InsBtn[35]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW37, DC13InsBtn[36]); DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW38, DC13InsBtn[37]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_1, m_DCFlyCmd[0]);//吊舱通道1 DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_2, m_DCFlyCmd[1]);//吊舱通道2 DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_3, m_DCFlyCmd[2]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_4, m_DCFlyCmd[3]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_5, m_DCFlyCmd[4]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_6, m_DCFlyCmd[5]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_7, m_DCFlyCmd[6]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_8, m_DCFlyCmd[7]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_9, m_DCFlyCmd[8]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_10, m_DCFlyCmd[9]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_11, m_DCFlyCmd[10]); DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_12, m_DCFlyCmd[11]); //DDX_Control(pDX, IDC_STATIC, DC13InsBtn[38]); DDX_Text(pDX, IDC_EDIT_Pitch_Param, Param1); //DDV_MinMaxInt(pDX, Param1, -18000, 18000); DDX_Text(pDX, IDC_EDIT_Dir_Param, Param2); //DDV_MinMaxInt(pDX, Param2, -18000, 18000); } BOOL Dlg13InstituteDCNew::OnInitDialog() { CDialogEx::OnInitDialog(); CenterWindow(); g_hwnd13InstituteDCNew = this->GetSafeHwnd(); CFont m_oFont;//字体 m_oFont.CreatePointFont(80, _T("Times New Roman")); for(int i = 0;i<38;++i) { //DC13InsBtn[i].SetTextColor(RGB(255,255,255)); //DC13InsBtn[i].SetFont(&m_oFont); //DC13InsBtn[i].SetFaceColor(RGB(54,54,54),true); if(i==34||i==35||i==36||i==37||i==3) { 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); } } m_font.CreatePointFont(100,_T("宋体"),NULL); CWnd* pWnd = GetDlgItem(IDC_STATIC_PitchAndDir); pWnd->SetFont(&m_font); CWnd* pWnd2 = GetDlgItem(IDC_EDIT_Pitch_Param); pWnd2->SetFont(&m_font); GetDlgItem(IDC_EDIT_Pitch_Param)->SetWindowText("0.00"); CWnd* pWnd3 = GetDlgItem(IDC_EDIT_Dir_Param); pWnd3->SetFont(&m_font); GetDlgItem(IDC_EDIT_Dir_Param)->SetWindowText("0.00"); ////定时器 //if((mTimerId = timeSetEvent(50, 20, (LPTIMECALLBACK)TimeCALLBACK, (DWORD)this, TIME_PERIODIC)) == 0) //{ // MessageBox( "13所吊舱定时器启动错误!", _T("提示!")); //} m_MudpSend.initMUDP("224.1.1.1",5622); 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(DC13InsCmdBuffer,0,sizeof(DC13InsCmdBuffer)); return TRUE; } BEGIN_MESSAGE_MAP(Dlg13InstituteDCNew, CDialogEx) ON_MESSAGE(WM_13DC_UPDAFRAME, &Dlg13InstituteDCNew::OnUpdate13DCFrame) ON_WM_CTLCOLOR() END_MESSAGE_MAP() // Dlg13InstituteDCNew 消息处理程序 //接收线程来的消息,处理消息 afx_msg LRESULT Dlg13InstituteDCNew::OnUpdate13DCFrame(WPARAM wParam, LPARAM lParam) { injectstart = true;//吊舱装订开始 switch ((int)wParam) { case 0://锁定模式 UpdateFrame((int&)lParam); break; case 2://扫描模式 UpdateFrame2((int&)lParam); break; case 3://数字引导模式 UpdateFrame3((int&)lParam); break; case 4://平台复位 UpdateFrame4((int&)lParam); break; case 5: UpdateFrame5(); break; case 6: UpdateFrame6(); 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(); break; case 15: UpdateFrame15(); 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(); break; case 21: UpdateFrame21(); 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((int&)lParam); break; case 31: UpdateFrame31((int&)lParam); break; case 32: UpdateFrame32((int&)lParam); break; case 33: UpdateFrame33((int&)lParam); break; case 34: UpdateFrame34((int&)lParam); break; case 35://俯仰+ UpdateFrame35(); break; case 36://俯仰- UpdateFrame36(); break; case 37://方位+ UpdateFrame37(); break; case 38://方位- UpdateFrame38(); break; default: break; } //if((int&)lParam == 0) //{ // if(g_IsSending){ // g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); // } //} /* if((int&)lParam==0) { if(!gCurGCSCtrlFlag)//从控 { if(gComFlags.test(11))//((gCommuFlags & 0x0800) != 0x00) ) { //数据注入指令从控发送数据---13所吊舱 DCFrameCkCmd13.Data.fcode = 0x70; DCFrameCkCmd13.Data.DCtype = g_FrameFKU.Data.details.DataZ70.DCtype ; DCFrameCkCmd13.Data.SwitchCmd =g_FrameFKU.Data.details.DataZ70.SwitchCmd; DCFrameCkCmd13.Data.param1 = g_FrameFKU.Data.details.DataZ70.param1; DCFrameCkCmd13.Data.param2 = g_FrameFKU.Data.details.DataZ70.param2; DCFrameCkCmd13.SendPrepare(); g_UDPACmdSwi.WriteBuffer(DCFrameCkCmd13.Addr(),11); } } } */ return 0; } //更新13所吊舱控制指令 按钮按下,分类进行处理。 //对于重复发送的指令,直接赋值,直至按钮抬起,装订标志变为false,发送停止 //对于只发送一次的指令,开启一个线程,线程中相差100ms发送先后发送赋值和清空操作。赋值期间指令发送(GCSView::Setp函数),清空后指令不再发送。 void Dlg13InstituteDCNew::Update13InsNewCmdBuffer(HWND hwnd) { if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW)->m_hWnd) { g_commandNum = 0; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW2)->m_hWnd) { g_commandNum = 2; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW3)->m_hWnd) { g_commandNum = 3; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW4)->m_hWnd) { g_commandNum = 4; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW5)->m_hWnd) { //UpdateFrame5(); g_commandNum = 5; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW6)->m_hWnd) { //UpdateFrame6(); g_commandNum = 6; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW7)->m_hWnd) { //UpdateFrame7(); g_commandNum = 7; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW8)->m_hWnd) { //UpdateFrame8(); g_commandNum = 8; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW9)->m_hWnd) { g_commandNum = 9; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW10)->m_hWnd) { g_commandNum = 10; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW11)->m_hWnd) { g_commandNum = 11; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW12)->m_hWnd) { g_commandNum = 12; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW13)->m_hWnd) { g_commandNum = 13; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW14)->m_hWnd) { //UpdateFrame14(); g_commandNum = 14; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW15)->m_hWnd) { //UpdateFrame15(); g_commandNum = 15; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW16)->m_hWnd) { g_commandNum = 16; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW17)->m_hWnd) { g_commandNum = 17; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW18)->m_hWnd) { g_commandNum = 18; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW19)->m_hWnd) { g_commandNum = 19; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW20)->m_hWnd) { //UpdateFrame20(); g_commandNum = 20; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW21)->m_hWnd) { //UpdateFrame21(); g_commandNum = 21; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW22)->m_hWnd) { g_commandNum = 22; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW23)->m_hWnd) { g_commandNum = 23; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW24)->m_hWnd) { g_commandNum = 24; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW25)->m_hWnd) { g_commandNum = 25; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW26)->m_hWnd) { g_commandNum = 26; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW27)->m_hWnd) { g_commandNum = 27; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW28)->m_hWnd) { g_commandNum = 28; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW29)->m_hWnd) { g_commandNum = 29; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW30)->m_hWnd) { g_commandNum = 30; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW31)->m_hWnd) { g_commandNum = 31; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW32)->m_hWnd) { g_commandNum = 32; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW33)->m_hWnd) { g_commandNum = 33; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW34)->m_hWnd) { g_commandNum = 34; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//开启线程 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW35)->m_hWnd)//俯仰+ { g_commandNum = 35; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW36)->m_hWnd)//俯仰- { g_commandNum = 36; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW37)->m_hWnd)//方位+ { g_commandNum = 37; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW38)->m_hWnd)//方位- { g_commandNum = 38; hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//开启线程2 CloseHandle(hCheckThread); } } //更新buffer到帧结构体 void Dlg13InstituteDCNew::UpdateDataZ70_13Ins() { DCFrameCkCmd13.Data.fcode = 0x70; DCFrameCkCmd13.Data.dataInject_DC.DCtype = 0x01; DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.SwitchCmd = DC13InsCmdBuffer[0]; DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.param1 = DC13InsCmdBuffer[1]+DC13InsCmdBuffer[2]*255; DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.param2 = DC13InsCmdBuffer[3]+DC13InsCmdBuffer[4]*255; DCFrameCkCmd13.SendPrepare(); if(g_IsSending){ g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); } //DC13InsCmdBuffer清空 memset(DC13InsCmdBuffer,0,sizeof(DC13InsCmdBuffer)); } //锁定模式DC13InsCmdBuffer void Dlg13InstituteDCNew::UpdateFrame(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x15; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //扫描模式 void Dlg13InstituteDCNew::UpdateFrame2(int &sendEnd) { if (sendEnd == 0) { DC13InsCmdBuffer[0] = 0x17; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //数字引导模式 void Dlg13InstituteDCNew::UpdateFrame3(int &sendEnd) { if(sendEnd==0) { UpdateData(TRUE); DC13InsCmdBuffer[0] = 0x19; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; /*俯仰限制*/ INT16 MinPitch = 0xD508;//-11000 INT16 MaxPitch = 0x1388;//5000 if(Param1*100MaxPitch) { PitchControl = MaxPitch; } else { PitchControl = Param1*100; } /*方位限制*/ INT16 MinDir = 0xB9B0;//-18000 INT16 MaxDir = 0x4650;//+18000 if(Param2*100MaxDir) { DirControl = MaxDir; } else { DirControl = Param2*100; } DC13InsCmdBuffer[1] = PitchControl; DC13InsCmdBuffer[2] = PitchControl>>8; DC13InsCmdBuffer[3] = DirControl; DC13InsCmdBuffer[4] = DirControl>>8; PitchRecord = PitchControl; DirRecord = DirControl; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //平台复位 void Dlg13InstituteDCNew::UpdateFrame4(int &sendEnd) { if (sendEnd == 0) { DC13InsCmdBuffer[0] = 0x1B; PitchRecord = 0; DirRecord = 0; PitchControl = 0; DirControl = 0; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //补漂方位- void Dlg13InstituteDCNew::UpdateFrame5() { DC13InsCmdBuffer[0] = 0x1D; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //补漂方位+ void Dlg13InstituteDCNew::UpdateFrame6() { DC13InsCmdBuffer[0] = 0x1F; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //补漂俯仰- void Dlg13InstituteDCNew::UpdateFrame7() { DC13InsCmdBuffer[0] = 0x21; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //补漂俯仰+ void Dlg13InstituteDCNew::UpdateFrame8() { DC13InsCmdBuffer[0] = 0x23; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //手动模式 void Dlg13InstituteDCNew::UpdateFrame9(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x25; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //可见光跟踪 void Dlg13InstituteDCNew::UpdateFrame10(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x27; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //红外跟踪 void Dlg13InstituteDCNew::UpdateFrame11(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x28; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //红外白热 void Dlg13InstituteDCNew::UpdateFrame12(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x81; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //红外黑热 void Dlg13InstituteDCNew::UpdateFrame13(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x82; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //焦距+ void Dlg13InstituteDCNew::UpdateFrame14() { DC13InsCmdBuffer[0] = 0x85; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //焦距- void Dlg13InstituteDCNew::UpdateFrame15() { DC13InsCmdBuffer[0] = 0x86; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //红外小视场 void Dlg13InstituteDCNew::UpdateFrame16(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x87; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //红外大视场 void Dlg13InstituteDCNew::UpdateFrame17(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x89; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //OSD on/off void Dlg13InstituteDCNew::UpdateFrame18(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xA1; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //图像切换 void Dlg13InstituteDCNew::UpdateFrame19(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xA3; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //画中画开 void Dlg13InstituteDCNew::UpdateFrame20() { DC13InsCmdBuffer[0] = 0xB5; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //画中画关 void Dlg13InstituteDCNew::UpdateFrame21() { DC13InsCmdBuffer[0] = 0xB6; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } //图像稳定关 void Dlg13InstituteDCNew::UpdateFrame22(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xB7; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //图像稳定开 void Dlg13InstituteDCNew::UpdateFrame23(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xB8; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //可见光透雾1 void Dlg13InstituteDCNew::UpdateFrame24(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xBB; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //可见光透雾2 void Dlg13InstituteDCNew::UpdateFrame25(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xBC; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //可见光透雾3 void Dlg13InstituteDCNew::UpdateFrame26(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xBD; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //可见光透关 void Dlg13InstituteDCNew::UpdateFrame27(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xBE; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //开始连续照相 void Dlg13InstituteDCNew::UpdateFrame28(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xC1; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //停止照相 void Dlg13InstituteDCNew::UpdateFrame29(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xC3; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //拍一张照 void Dlg13InstituteDCNew::UpdateFrame30(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0xC5; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //激光电源开 void Dlg13InstituteDCNew::UpdateFrame31(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x92; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //激光电源关 void Dlg13InstituteDCNew::UpdateFrame32(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x93; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //测距开 void Dlg13InstituteDCNew::UpdateFrame33(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x94; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //测距关 void Dlg13InstituteDCNew::UpdateFrame34(int &sendEnd) { if(sendEnd==0) { DC13InsCmdBuffer[0] = 0x95; DC13InsCmdBuffer[1] = 0x00; DC13InsCmdBuffer[2] = 0x00; DC13InsCmdBuffer[3] = 0x00; DC13InsCmdBuffer[4] = 0x00; UpdateDataZ70_13Ins(); g_bBindData = true; } else g_bBindData = false; } //俯仰+范围50~-110 void Dlg13InstituteDCNew::UpdateFrame35() { DC13InsCmdBuffer[0] = 0x19; if(PitchControl<0x1388)//5000 { PitchRecord = PitchRecord+100; } else { PitchRecord = 0x1388; } //DirRecord = DirRecord; PitchControl = PitchRecord; DirControl = DirRecord; DC13InsCmdBuffer[1] = PitchControl; DC13InsCmdBuffer[2] = PitchControl>>8; DC13InsCmdBuffer[3] = DirControl; DC13InsCmdBuffer[4] = DirControl>>8; UpdateDataZ70_13Ins(); g_bBindData = true; } //俯仰- void Dlg13InstituteDCNew::UpdateFrame36() { DC13InsCmdBuffer[0] = 0x19; INT16 MinPitch = 0xD508;//-11000 if(PitchRecord>MinPitch) { PitchRecord = PitchRecord-100; } else { PitchRecord = MinPitch; } //DirRecord = DirRecord; PitchControl = PitchRecord; DirControl = DirRecord; DC13InsCmdBuffer[1] = PitchControl; DC13InsCmdBuffer[2] = PitchControl>>8; DC13InsCmdBuffer[3] = DirControl; DC13InsCmdBuffer[4] = DirControl>>8; UpdateDataZ70_13Ins(); g_bBindData = true; } //方位+范围180~-180 void Dlg13InstituteDCNew::UpdateFrame37() { DC13InsCmdBuffer[0] = 0x19; //PitchRecord = PitchRecord; if(DirRecord<0x4650)//18000 { DirRecord = DirRecord+100; } else { DirRecord = 0x4650; } PitchControl = PitchRecord; DirControl = DirRecord; DC13InsCmdBuffer[1] = PitchControl; DC13InsCmdBuffer[2] = PitchControl>>8; DC13InsCmdBuffer[3] = DirControl; DC13InsCmdBuffer[4] = DirControl>>8; UpdateDataZ70_13Ins(); g_bBindData = true; } //方位- void Dlg13InstituteDCNew::UpdateFrame38() { DC13InsCmdBuffer[0] = 0x19; //PitchRecord = PitchRecord; INT16 MinDir = 0xb9b0; if(DirRecord>MinDir)//-18000 { DirRecord = DirRecord-100; } else { DirRecord = MinDir; } PitchControl = PitchRecord; DirControl = DirRecord; DC13InsCmdBuffer[1] = PitchControl; DC13InsCmdBuffer[2] = PitchControl>>8; DC13InsCmdBuffer[3] = DirControl; DC13InsCmdBuffer[4] = DirControl>>8; UpdateDataZ70_13Ins(); g_bBindData = true; } //按钮按下、抬起触发此函数 BOOL Dlg13InstituteDCNew::PreTranslateMessage(MSG* pMsg) { if(g_IsSending) { // TODO: 在此添加专用代码和/或调用基类 if(pMsg->message == WM_LBUTTONDOWN)//按下 { Update13InsNewCmdBuffer(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); }