?? dlgsheet1.cpp
字號:
// DlgSheet1.cpp : implementation file
//
#include "stdafx.h"
#include "RADIO.h"
#include "DlgSheet1.h"
#include "ommonStatic.h"
#include "APPStatic.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgSheet1 dialog
CDlgSheet1::CDlgSheet1(CWnd* pParent /*=NULL*/)
: CDialog(CDlgSheet1::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgSheet1)
m_strAlt = _T("");
m_strSpeed = _T("");
m_strRoll = _T("");
m_strPitch = _T("");
m_strYaw = _T("");
m_strMagVar=_T("");
m_strBeacon = _T("");
m_strMagNorth = _T("");
m_strBeaconType = _T("");
m_strAzMeasure = _T("");
m_strDisMeasure = _T("");
m_strBeaconLa = _T("");
m_strBeaconPhi = _T("");
m_strBeaconH = _T("");
//}}AFX_DATA_INIT
}
void CDlgSheet1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
if(pDX->m_bSaveAndValidate==FALSE){//Write to Screen,要向Screen寫,用我自己的方法寫
DDX_Control(pDX, ID_BEACONH, m_staticBeaconH);
DDX_Control(pDX, ID_BEACONPHI, m_staticBeaconPhi);
DDX_Control(pDX, ID_BEACONLA, m_staticBeaconLa);
DDX_Control(pDX, ID_DISMEASURE, m_staticDisMeasure);
DDX_Control(pDX, ID_AZMEASURE, m_staticAzMeasure);
DDX_Control(pDX, ID_BEACONTYPE, m_staticBeaconType);
DDX_Control(pDX, IDTEXT_MAGNORTH, m_staticMagNorth);
DDX_Control(pDX, IDTEXT_REALNORTH, m_staticRealNorth);
DDX_Control(pDX, IDTEXT_BEACON, m_staticBeacon);
DDX_Control(pDX, IDTEXT_MAGVAR, m_staticMagVar);
DDX_Control(pDX, IDTITLE_CH9, m_titleCh9);
DDX_Control(pDX, IDTITLE_CH8, m_titleCh8);
DDX_Control(pDX, IDTITLE_CH7, m_titleCh7);
DDX_Control(pDX, IDTITLE_CH6, m_titleCh6);
DDX_Control(pDX, IDTITLE_CH5, m_titleCh5);
DDX_Control(pDX, IDTITLE_CH4, m_titleCh4);
DDX_Control(pDX, IDTITLE_CH3, m_titileCh3);
DDX_Control(pDX, IDTITLE_CH2, m_titleCh2);
DDX_Control(pDX, IDTITLE_CH11, m_titleCh11);
DDX_Control(pDX, IDTITLE_CH10, m_titleCh10);
DDX_Control(pDX, IDTITLE_CH1, m_titleCh1);
DDX_Control(pDX, IDTITLE_RMI, m_titleRMI);
DDX_Control(pDX, IDTEXT_YAW, m_staticYaw);
DDX_Control(pDX, IDTEXT_PITCH, m_staticPitch);
DDX_Control(pDX, IDTEXT_ROLL, m_staticRoll);
DDX_Control(pDX, IDTEXT_SPEED, m_staticSpeed);
DDX_Control(pDX, IDTITLE2_ATTI, m_titile2Atti);
DDX_Control(pDX, IDTITLE2_SPEED, m_title2Speed);
DDX_Control(pDX, IDTITLE1_SPEED, m_title1Speed);
DDX_Control(pDX, IDTITLE_YAW, m_titleYaw);
DDX_Control(pDX, IDTITLE1_ATTI, m_title1Atti);
DDX_Control(pDX, IDTITLE_ROLL, m_titleRoll);
DDX_Control(pDX, IDTITLE_PITCH, m_titlePictch);
DDX_Control(pDX, IDTITLE2_ALT, m_title2Alt);
DDX_Control(pDX, IDTITLE1_ALT, m_title1Alt);
DDX_Control(pDX, IDTEXT_AlT, m_staticAlt);
DrawControl();
return;
}
//要取數據,用你原來的DDX系統
//{{AFX_DATA_MAP(CDlgSheet1)
DDX_Control(pDX, ID_BEACONH, m_staticBeaconH);
DDX_Control(pDX, ID_BEACONPHI, m_staticBeaconPhi);
DDX_Control(pDX, ID_BEACONLA, m_staticBeaconLa);
DDX_Control(pDX, ID_DISMEASURE, m_staticDisMeasure);
DDX_Control(pDX, ID_AZMEASURE, m_staticAzMeasure);
DDX_Control(pDX, ID_BEACONTYPE, m_staticBeaconType);
DDX_Control(pDX, IDTEXT_MAGNORTH, m_staticMagNorth);
DDX_Control(pDX, IDTEXT_REALNORTH, m_staticRealNorth);
DDX_Control(pDX, IDTEXT_BEACON, m_staticBeacon);
DDX_Control(pDX, IDTEXT_MAGVAR, m_staticMagVar);
DDX_Control(pDX, IDTITLE_CH9, m_titleCh9);
DDX_Control(pDX, IDTITLE_CH8, m_titleCh8);
DDX_Control(pDX, IDTITLE_CH7, m_titleCh7);
DDX_Control(pDX, IDTITLE_CH6, m_titleCh6);
DDX_Control(pDX, IDTITLE_CH5, m_titleCh5);
DDX_Control(pDX, IDTITLE_CH4, m_titleCh4);
DDX_Control(pDX, IDTITLE_CH3, m_titileCh3);
DDX_Control(pDX, IDTITLE_CH2, m_titleCh2);
DDX_Control(pDX, IDTITLE_CH11, m_titleCh11);
DDX_Control(pDX, IDTITLE_CH10, m_titleCh10);
DDX_Control(pDX, IDTITLE_CH1, m_titleCh1);
DDX_Control(pDX, IDTITLE_RMI, m_titleRMI);
DDX_Control(pDX, IDTEXT_YAW, m_staticYaw);
DDX_Control(pDX, IDTEXT_PITCH, m_staticPitch);
DDX_Control(pDX, IDTEXT_ROLL, m_staticRoll);
DDX_Control(pDX, IDTEXT_SPEED, m_staticSpeed);
DDX_Control(pDX, IDTITLE2_ATTI, m_titile2Atti);
DDX_Control(pDX, IDTITLE2_SPEED, m_title2Speed);
DDX_Control(pDX, IDTITLE1_SPEED, m_title1Speed);
DDX_Control(pDX, IDTITLE_YAW, m_titleYaw);
DDX_Control(pDX, IDTITLE1_ATTI, m_title1Atti);
DDX_Control(pDX, IDTITLE_ROLL, m_titleRoll);
DDX_Control(pDX, IDTITLE_PITCH, m_titlePictch);
DDX_Control(pDX, IDTITLE2_ALT, m_title2Alt);
DDX_Control(pDX, IDTITLE1_ALT, m_title1Alt);
DDX_Control(pDX, IDTEXT_AlT, m_staticAlt);
DDX_Text(pDX, IDTEXT_AlT, m_strAlt);
DDX_Text(pDX, IDTEXT_SPEED, m_strSpeed);
DDX_Text(pDX, IDTEXT_ROLL, m_strRoll);
DDX_Text(pDX, IDTEXT_PITCH, m_strPitch);
DDX_Text(pDX, IDTEXT_YAW, m_strYaw);
DDX_Text(pDX, IDTEXT_MAGVAR, m_strMagVar);
DDX_Text(pDX, IDTEXT_BEACON, m_strBeacon);
DDX_Text(pDX, IDTEXT_MAGNORTH, m_strMagNorth);
DDX_Text(pDX, ID_BEACONTYPE, m_strBeaconType);
DDX_Text(pDX, ID_AZMEASURE, m_strAzMeasure);
DDX_Text(pDX, ID_DISMEASURE, m_strDisMeasure);
DDX_Text(pDX, ID_BEACONLA, m_strBeaconLa);
DDX_Text(pDX, ID_BEACONPHI, m_strBeaconPhi);
DDX_Text(pDX, ID_BEACONH, m_strBeaconH);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgSheet1, CDialog)
//{{AFX_MSG_MAP(CDlgSheet1)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgSheet1 message handlers
void CDlgSheet1::DrawControl()
{
if (m_staticAlt.IsReadyToPaint())
{ m_staticAlt.SetPaintInfo(m_strAlt);
m_staticAlt.Paint();
}
if (m_staticPitch.IsReadyToPaint())
{ m_staticPitch.SetPaintInfo(m_strPitch);
m_staticPitch.Paint();
}
if (m_staticRoll.IsReadyToPaint())
{ m_staticRoll.SetPaintInfo(m_strRoll);
m_staticRoll.Paint();
}
if (m_staticYaw.IsReadyToPaint())
{ m_staticYaw.SetPaintInfo(m_strYaw);
m_staticYaw.Paint();
}
if (m_staticSpeed.IsReadyToPaint())
{ m_staticSpeed.SetPaintInfo(m_strSpeed);
m_staticSpeed.Paint();
}
if (m_staticMagVar.IsReadyToPaint())
{
TCHAR buffer[20];
_stprintf(buffer,_T("%6.3lf"),APPStatic::app_dMagneticErrorAngle);
m_strMagVar=CString(buffer);
m_staticMagVar.SetPaintInfo(m_strMagVar);
m_staticMagVar.Paint();
}
if (m_staticBeacon.IsReadyToPaint())
{
if(APPStatic::GetMainView()->GetBeaconManage()->m_bIsBeaconAvailable){
m_strBeacon=_T("可用");
}else{
m_strBeacon=_T("不可用");
}
m_staticBeacon.SetPaintInfo(m_strBeacon);
m_staticBeacon.Paint();
}
if (m_staticRealNorth.IsReadyToPaint())
{
m_staticRealNorth.SetPaintInfo(m_strYaw);
m_staticRealNorth.Paint();
}
if (m_staticRealNorth.IsReadyToPaint())
{
m_staticMagNorth.SetPaintInfo(m_strMagNorth);
m_staticMagNorth.Paint();
}
if(m_staticBeaconType.IsReadyToPaint()){
if(APPStatic::GetMainView()->GetBeaconManage()->m_bIsBeaconAvailable){
if(APPStatic::GetMainView()->GetBeaconManage()->GetBeaconList()->GetAt(APPStatic::GetMainView()->GetBeaconManage()->m_iAvailableBCIndex).type==AIR){
m_strBeaconType="空中";
}else{
m_strBeaconType="地面";
}
}else{
m_strBeaconType="無";
}
m_staticBeaconType.SetPaintInfo(m_strBeaconType);
m_staticBeaconType.Paint();
}
if (m_staticAzMeasure.IsReadyToPaint())
{
m_strAzMeasure.Format("%6.3lf",APPStatic::GetMainView()->m_pBeaconSimu->m_dAzMeasure);
m_staticAzMeasure.SetPaintInfo(m_strAzMeasure);
m_staticAzMeasure.Paint();
}
if (m_staticDisMeasure.IsReadyToPaint())
{
m_strDisMeasure.Format("%6.3lf",APPStatic::GetMainView()->m_pBeaconSimu->m_dDisMeasure);
m_staticDisMeasure.SetPaintInfo(m_strDisMeasure);
m_staticDisMeasure.Paint();
}
if (m_staticBeaconLa.IsReadyToPaint())
{
if(APPStatic::GetMainView()->GetBeaconManage()->m_bIsBeaconAvailable){
m_strBeaconLa.Format("%6.3lf",APPStatic::GetMainView()->GetBeaconManage()->GetBeaconList()->GetAt(APPStatic::GetMainView()->GetBeaconManage()->m_iAvailableBCIndex).pos.x);
}else{
//m_strBeaconLa.Format("%6.3lf",0);
}
m_staticBeaconLa.SetPaintInfo(m_strBeaconLa);
m_staticBeaconLa.Paint();
}
if (m_staticBeaconLa.IsReadyToPaint())
{
if(APPStatic::GetMainView()->GetBeaconManage()->m_bIsBeaconAvailable){
m_strBeaconPhi.Format("%6.3lf",APPStatic::GetMainView()->GetBeaconManage()->GetBeaconList()->GetAt(APPStatic::GetMainView()->GetBeaconManage()->m_iAvailableBCIndex).pos.y);
}else{
// m_strBeaconPhi.Format("%6.3lf",0);
}
m_staticBeaconPhi.SetPaintInfo(m_strBeaconPhi);
m_staticBeaconPhi.Paint();
}
if (m_staticBeaconLa.IsReadyToPaint())
{
if(APPStatic::GetMainView()->GetBeaconManage()->m_bIsBeaconAvailable){
m_strBeaconH.Format("%6.3lf",APPStatic::GetMainView()->GetBeaconManage()->GetBeaconList()->GetAt(APPStatic::GetMainView()->GetBeaconManage()->m_iAvailableBCIndex).pos.z);
}else{
m_strBeaconH.Format("%6.3lf",0);
}
m_staticBeaconH.SetPaintInfo(m_strBeaconH);
m_staticBeaconH.Paint();
}
}
BOOL CDlgSheet1::OnInitDialog()
{
CDialog::OnInitDialog();
//這里對話框和其子控件都創建好了,且UpdateData(FALSE)被自動調用過了,也就是控件對象有效了。
m_title1Alt.SetPaintInfo("title");
m_title1Alt.SetPaintProc(CommonStatic::PaintProcStatic);
m_title2Alt.SetPaintInfo("engTitle");
m_title2Alt.SetPaintProc(CommonStatic::PaintProcStatic);
m_title1Atti.SetPaintInfo("title");
m_title1Atti.SetPaintProc(CommonStatic::PaintProcStatic);
m_titlePictch.SetPaintInfo("engTitle");
m_titlePictch.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleRoll.SetPaintInfo("engTitle");
m_titleRoll.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleYaw.SetPaintInfo("engTitle");
m_titleYaw.SetPaintProc(CommonStatic::PaintProcStatic);
m_title1Speed.SetPaintInfo("title");
m_title1Speed.SetPaintProc(CommonStatic::PaintProcStatic);
m_title2Speed.SetPaintInfo("engTitle");
m_title2Speed.SetPaintProc(CommonStatic::PaintProcStatic);
m_titile2Atti.SetPaintInfo("engTitle");
m_titile2Atti.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticAlt.SetPaintInfo(m_strAlt);
m_staticAlt.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticPitch.SetPaintInfo(m_strPitch);
m_staticPitch.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticRoll.SetPaintInfo(m_strRoll);
m_staticRoll.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticYaw.SetPaintInfo(m_strPitch);
m_staticYaw.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticSpeed.SetPaintInfo(m_strSpeed);
m_staticSpeed.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleRMI.SetPaintInfo("engTitle");
m_titleRMI.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh1.SetPaintInfo("title");
m_titleCh1.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh2.SetPaintInfo("title");
m_titleCh2.SetPaintProc(CommonStatic::PaintProcStatic);
m_titileCh3.SetPaintInfo("title");
m_titileCh3.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh4.SetPaintInfo("title");
m_titleCh4.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh5.SetPaintInfo("title");
m_titleCh5.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh6.SetPaintInfo("title");
m_titleCh6.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh7.SetPaintInfo("title");
m_titleCh7.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh8.SetPaintInfo("title");
m_titleCh8.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh9.SetPaintInfo("title");
m_titleCh9.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh10.SetPaintInfo("title");
m_titleCh10.SetPaintProc(CommonStatic::PaintProcStatic);
m_titleCh11.SetPaintInfo("title");
m_titleCh11.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticMagVar.SetPaintInfo(m_strMagVar);
m_staticMagVar.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticBeacon.SetPaintInfo(m_strBeacon);
m_staticBeacon.SetPaintProc(CommonStatic::PaintProcStatic2);
m_staticRealNorth.SetPaintInfo(m_strYaw);
m_staticRealNorth.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticMagNorth.SetPaintInfo(m_strMagNorth);
m_staticMagNorth.SetPaintProc(CommonStatic::PaintProcStatic);
m_staticBeaconType.SetPaintInfo(m_strBeaconType);
m_staticBeaconType.SetPaintProc(CommonStatic::PaintProcStatic2);
m_staticAzMeasure.SetPaintInfo(m_strAzMeasure);
m_staticAzMeasure.SetPaintProc(CommonStatic::PaintProcStatic3);
m_staticDisMeasure.SetPaintInfo(m_strDisMeasure);
m_staticDisMeasure.SetPaintProc(CommonStatic::PaintProcStatic3);
m_staticBeaconLa.SetPaintInfo(m_strBeaconLa);
m_staticBeaconLa.SetPaintProc(CommonStatic::PaintProcStatic3);
m_staticBeaconPhi.SetPaintInfo(m_strBeaconPhi);
m_staticBeaconPhi.SetPaintProc(CommonStatic::PaintProcStatic3);
m_staticBeaconH.SetPaintInfo(m_strBeaconH);
m_staticBeaconH.SetPaintProc(CommonStatic::PaintProcStatic3);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgSheet1::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetClientRect(rect);
dc.FillSolidRect(rect,APPStatic::colorDlg); //設置背景色
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -