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.

159 lines
3.3 KiB
C++

2 years ago
// JoyStickControlDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "CH91PayloadSoftware.h"
#include "JoyStickControlDlg.h"
#include "afxdialogex.h"
#include "GlobalMember.h"
#include "Global.h"
#include "GlobalMessage.h"
// CJoyStickControlDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
IMPLEMENT_DYNAMIC(CJoyStickControlDlg, CDialogEx)
CJoyStickControlDlg::CJoyStickControlDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CJoyStickControlDlg::IDD, pParent)
{
}
CJoyStickControlDlg::~CJoyStickControlDlg()
{
}
void CJoyStickControlDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CJoyStickControlDlg, CDialogEx)
ON_WM_TIMER()
END_MESSAGE_MAP()
// CJoyStickControlDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL CJoyStickControlDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>
g_JoyStickControlDlgHwnd = GetSafeHwnd();
// ҡ<>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
m_JoyStickListener = new JSParser::JoyStickListener();
m_JoyStickListener->init(g_JoyStickControlDlgHwnd);
// <20>趨ʱ<E8B6A8><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SetTimer(1, 2000, nullptr);
return TRUE; // return TRUE unless you set the focus to a control
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
}
void CJoyStickControlDlg::OnTimer(UINT_PTR nIDEvent)
{
//if (m_JoyStickListener->isInit())
//{
// // <20><><EFBFBD><EFBFBD>ҡ<EFBFBD><D2A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
// m_JoyStickListener->UpdateStick(stick_Height, stick_Width);
// // <20><><EFBFBD><EFBFBD>ҡ<EFBFBD>˰<EFBFBD><CBB0><EFBFBD>״̬
// m_JoyStickListener->UpdateButtons(m_JoyStickButtons);
// // <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// UpdateControl();
//}
//else
//{
// m_JoyStickListener->init(g_JoyStickControlDlgHwnd);
//}
CDialogEx::OnTimer(nIDEvent);
}
void CJoyStickControlDlg::UpdateControl()
{
if (g_bCtrlFromSoftware == FALSE)
{
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD>
if (m_JoyStickButtons[0] == true)
{
g_payloadCtrlProtocol = 1002;
g_ServoSpeedUpDown = (int)(0 - stick_Height * 512);
g_ServoSpeedLeftRight = (int)(stick_Width * 512);
//TRACE("X:%d Y:%d\n",g_ServoSpeedUpDown,g_ServoSpeedLeftRight);
}
// EO<45>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
else if (m_JoyStickButtons[3] == true)
{
g_payloadCtrlProtocol = 16;
g_TrackOffset.y = (int)(0 - stick_Height * 540);
g_TrackOffset.x = (int)(stick_Width * 960);
}
// IR<49>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
else if (m_JoyStickButtons[2] == true)
{
g_payloadCtrlProtocol = 17;
g_TrackOffset.y = (int)(0 - stick_Height * 288);
g_TrackOffset.x = (int)(stick_Width * 360);
}
// EO<45>Զ<EFBFBD><D4B6>Խ<EFBFBD>
else if (m_JoyStickButtons[1] == true)
{
g_payloadCtrlProtocol = 69;
}
// IR<49>Զ<EFBFBD><D4B6>Խ<EFBFBD>
else if (m_JoyStickButtons[4] == true)
{
g_payloadCtrlProtocol = 78;
}
// EO<45>ӳ<EFBFBD>С
else if (m_JoyStickButtons[6] == true)
{
g_payloadCtrlProtocol = 60;
}
// EO<45>ӳ<EFBFBD><D3B3><EFBFBD>
else if (m_JoyStickButtons[8] == true)
{
g_payloadCtrlProtocol = 59;
}
// IR<49>ӳ<EFBFBD>С
else if (m_JoyStickButtons[10] == true)
{
g_payloadCtrlProtocol = 81;
}
// IR<49>ӳ<EFBFBD><D3B3><EFBFBD>
else if (m_JoyStickButtons[12] == true)
{
g_payloadCtrlProtocol = 80;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if (m_JoyStickButtons[14] == true)
{
g_payloadCtrlProtocol = 34;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if (m_JoyStickButtons[16] == true)
{
g_payloadCtrlProtocol = 35;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if (m_JoyStickButtons[15] == true)
{
g_payloadCtrlProtocol = 32;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if (m_JoyStickButtons[17] == true)
{
g_payloadCtrlProtocol = 33;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD>ָ<EFBFBD><D6B8>
else
{
g_payloadCtrlProtocol = 0;
}
}
}