📄 mytotalp.cpp
字号:
// MyTotalP.cpp : implementation file
//
#include "stdafx.h"
#include "computer.h"
#include "MyTotalP.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyTotalP dialog
#include "ComputerDlg.h"
extern CComputerDlg * computerdlg;
CMyTotalP::CMyTotalP(CWnd* pParent /*=NULL*/)
: CDialog(CMyTotalP::IDD, pParent)
{
//{{AFX_DATA_INIT(CMyTotalP)
m_totalw = 0.0;
m_start = 0.0;
m_zaipin = 0.0;
m_p3 = 0.0;
m_startp3 = 0.0;
m_zaipin3 = 0.0;
//}}AFX_DATA_INIT
}
void CMyTotalP::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyTotalP)
DDX_Control(pDX, IDC_EDIT13, m_startp33);
DDX_Control(pDX, IDC_EDIT12, m_zaipin33);
DDX_Control(pDX, IDC_EDIT11, m_p33);
DDX_Control(pDX, IDC_COMBO2, m_start3);
DDX_Control(pDX, IDC_COMBO1, m_start1);
DDX_Control(pDX, IDC_EDIT2, m_edit2);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Control(pDX, IDOK, m_button);
DDX_Text(pDX, IDC_EDIT3, m_totalw);
DDX_Text(pDX, IDC_EDIT1, m_start);
DDX_Text(pDX, IDC_EDIT2, m_zaipin);
DDX_Text(pDX, IDC_EDIT11, m_p3);
DDX_Text(pDX, IDC_EDIT12, m_startp3);
DDX_Text(pDX, IDC_EDIT13, m_zaipin3);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMyTotalP, CDialog)
//{{AFX_MSG_MAP(CMyTotalP)
ON_WM_DESTROY()
ON_WM_MOUSEMOVE()
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyTotalP message handlers
void CMyTotalP::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
/*
int i=m_start1.GetCurSel();
CString temp="";
temp.Format("%d",i);
MessageBox(temp);
*/
if(m_zaipin>0)
{
m_totalw=m_start+10*log10(m_zaipin);
CString str;
str.Format("%0.5f",m_totalw);
m_totalw=atof(str);
/*
char show[10];
_gcvt(m_totalw,10,show); //双精度转化为字符串
*/
computerdlg->m_show.Format("%lf",m_totalw);
if(m_start1.GetCurSel()==0)
{
computerdlg->m_radio1=1;
computerdlg->m_wdd=2;
}
else
{ computerdlg->m_radio1=0;
computerdlg->m_wdd=1;
}
computerdlg->UpdateData(false);
UpdateData(false);
}
else MessageBox("载频数必须大于0","华泰提示:");
//CDialog::OnOK();
}
void CMyTotalP::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
computerdlg->MyTotalP=NULL;
computerdlg->Invalidate(false);
delete this;
}
BOOL CMyTotalP::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(m_tip[0].m_hWnd!=NULL)
m_tip[0].RelayEvent(pMsg);
if(m_tip[1].m_hWnd!=NULL)
m_tip[1].RelayEvent(pMsg);
if(m_tip[2].m_hWnd!=NULL)
m_tip[2].RelayEvent(pMsg);
if(m_tip[3].m_hWnd!=NULL)
m_tip[3].RelayEvent(pMsg);
if(m_tip[4].m_hWnd!=NULL)
m_tip[4].RelayEvent(pMsg);
if(m_tip[5].m_hWnd!=NULL)
m_tip[5].RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
BOOL CMyTotalP::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
pSub[0] = GetDlgItem(IDC_EDIT1);
pSub[1] = GetDlgItem(IDC_EDIT2);
pSub[2]=GetDlgItem(IDC_EDIT3);
pSub[3] = GetDlgItem(IDC_EDIT11);
pSub[4] = GetDlgItem(IDC_EDIT13);
pSub[5]=GetDlgItem(IDC_EDIT12);
m_tip[0].Create(pSub[0],TTS_ALWAYSTIP);
m_tip[0].AddTool(pSub[0]);
m_tip[1].Create(pSub[1],TTS_ALWAYSTIP);
m_tip[1].AddTool(pSub[1]);
m_tip[2].Create(pSub[2],TTS_ALWAYSTIP);
m_tip[2].AddTool(pSub[2]);
m_tip[3].Create(pSub[3],TTS_ALWAYSTIP);
m_tip[3].AddTool(pSub[3]);
m_tip[4].Create(pSub[4],TTS_ALWAYSTIP);
m_tip[4].AddTool(pSub[4]);
m_tip[5].Create(pSub[5],TTS_ALWAYSTIP);
m_tip[5].AddTool(pSub[5]);
m_start1.AddString("W");
m_start1.AddString("dBm");
m_total1.AddString("W");
m_total1.AddString("dBm");
m_start1.SetCurSel(0);
m_total1.SetCurSel(0);
m_start3.AddString("W");
m_start3.AddString("dBm");
m_start3.SetCurSel(0);
GetDlgItem(IDC_STATICtotalP2)->SetWindowText("dBm");
GetDlgItem(IDC_STATICtotalP3)->SetWindowText("dBm");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMyTotalP::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_tip[0].UpdateTipText("每载频功率",pSub[0]);
m_tip[1].UpdateTipText("载频数",pSub[1]);
m_tip[2].UpdateTipText("总功率",pSub[2]);
m_tip[3].UpdateTipText("总功率",pSub[3]);
m_tip[5].UpdateTipText("每载频功率",pSub[5]);
m_tip[4].UpdateTipText("载频数",pSub[4]);
CDialog::OnMouseMove(nFlags, point);
}
void CMyTotalP::OnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
if(m_start1.GetCurSel()==0)
GetDlgItem(IDC_STATICtotalP2)->SetWindowText("dBm");
else
GetDlgItem(IDC_STATICtotalP2)->SetWindowText("W");
}
void CMyTotalP::OnSelchangeCombo2()
{
// TODO: Add your control notification handler code here
if(m_start3.GetCurSel()==0)
GetDlgItem(IDC_STATICtotalP3)->SetWindowText("dBm");
else
GetDlgItem(IDC_STATICtotalP3)->SetWindowText("W");
}
void CMyTotalP::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
void CMyTotalP::OnButton3()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_zaipin3>0)
{
m_startp3=m_p3-10*log10(m_zaipin3);
CString str;
str.Format("%0.5f",m_startp3);
m_startp3=atof(str);
computerdlg->m_show.Format("%lf",m_startp3);
if(m_start3.GetCurSel()==0)
{
computerdlg->m_radio1=1;
computerdlg->m_wdd=2;
}
else
{ computerdlg->m_radio1=0;
computerdlg->m_wdd=1;
}
computerdlg->UpdateData(false);
UpdateData(false);
}
else MessageBox("载频数必须大于0","华泰提示:");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -