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.

83 lines
1.8 KiB
C++

2 years ago
// ShowWaveDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "CH91PayloadSoftware.h"
#include "ShowWaveDlg.h"
#include "afxdialogex.h"
#include "Global.h"
#include "GlobalMessage.h"
#include "GlobalMember.h"
// CShowWaveDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
IMPLEMENT_DYNAMIC(CShowWaveDlg, CDialogEx)
CShowWaveDlg::CShowWaveDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CShowWaveDlg::IDD, pParent)
{
}
CShowWaveDlg::~CShowWaveDlg()
{
}
void CShowWaveDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_STATIC_WAVESHOW, m_WaveShow);
}
BEGIN_MESSAGE_MAP(CShowWaveDlg, CDialogEx)
ON_MESSAGE(WM_SHOW_WAVE, CShowWaveDlg::ShowWave)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
// CShowWaveDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL CShowWaveDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
g_ShowWaveHwnd = GetSafeHwnd();
m_WaveShow.SetTitle(0,"<EFBFBD>غɷ<EFBFBD>λ<EFBFBD><EFBFBD>");
m_WaveShow.SetTitle(1,"<EFBFBD>غɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
m_WaveShow.SetTitle(2,"UAV<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>");
m_WaveShow.SetTitle(3,"UAV<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
m_WaveShow.SetTitle(4,"UAV<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>");
m_WaveShow.SetXRange(0,100);
m_WaveShow.SetYRange(-50,50);
m_wavetime = 0;
return TRUE;
}
LRESULT CShowWaveDlg::ShowWave(WPARAM wParam, LPARAM lParam)
{
m_wavetime += 0.1;
m_WaveShow.AddValue(0, m_wavetime, g_ZH_Azimuth);
m_WaveShow.AddValue(1, m_wavetime, g_ZH_Pitch);
m_WaveShow.AddValue(2, m_wavetime, g_GPS_LR_Heading);
m_WaveShow.AddValue(3, m_wavetime, g_GPS_FB_Pitch);
m_WaveShow.AddValue(4, m_wavetime, g_GPS_LR_Roll);
m_WaveShow.UpdateCurve();
return 0;
}
// <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
void CShowWaveDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect rect;
GetDlgItem(IDC_STATIC_WAVESHOW)->GetWindowRect(&rect);
ScreenToClient(rect);
point.x -= rect.left;
point.y -= rect.top;
m_WaveShow.OnLButtonDown(nFlags, point);
CDialogEx::OnLButtonDown(nFlags, point);
}