📄 repeaterview.cpp
字号:
// repeaterView.cpp : implementation of the CRepeaterView class
//
#include "stdafx.h"
#include "stdlib.h"
#include "time.h"
#include "repeater.h"
#include "RepeaterDB.h"
#include "ChannelSelDB.h"
#include "InstruSelDB.h"
#include "TestData.h"
#include "RouteDB.h"
#include "Password.h"
#include "repeaterDoc.h"
#include "repeaterView.h"
#include "Dialog.h"
#include "globals.h"
#include "Cal.h"
#include "Test.h"
#include "nodial.h"
#include "process.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//定义画图坐标:
//第三块
#define LEFT 366
#define TOP 108
extern GLOBALS_ST stGlobals;
/////////////////////////////////////////////////////////////////////////////
// CRepeaterView
IMPLEMENT_DYNCREATE(CRepeaterView, CView)
BEGIN_MESSAGE_MAP(CRepeaterView, CView)
//{{AFX_MSG_MAP(CRepeaterView)
ON_COMMAND(ID_CONFIG_INSTRUMENT, OnConfigInstrument)
ON_COMMAND(ID_CONFIG_REPEATER, OnConfigRepeater)
ON_COMMAND(ID_CONFIG_SPECIFICATION_LIMIT, OnConfigSpecificationLimit)
ON_COMMAND(ID_CALIBRATE_POWERMETER_ROUTE, OnCalibratePowermeterRoute)
ON_COMMAND(ID_CALIBRATE_POWERMETER_SELF, OnCalibratePowermeterSelf)
ON_COMMAND(ID_CALIBRATE_SIGNAL_ROUTE, OnCalibrateSignalRoute)
ON_COMMAND(ID_CALIBRATE_SPECTRUMANALYZER_ROUTE, OnCalibrateSpectrumanalyzerRoute)
ON_COMMAND(ID_START, OnStart)
ON_COMMAND(ID_TEST_FORWARD, OnTestForward)
ON_COMMAND(ID_TEST_REVERSE, OnTestReverse)
ON_COMMAND(ID_QUERY_SERIALNO, OnQuerySerialno)
ON_COMMAND(ID_QUERY_MODEL, OnQueryModel)
ON_COMMAND(IDD_CONFIG_FREQ_SELECT, OnConfigFreqSelect)
ON_WM_DESTROY()
ON_COMMAND(ID_CALIBRATE_NOISEANALYZER, OnCalibrateNoiseanalyzer)
ON_COMMAND(ID_CALIBRATE_NETANALYZER, OnCalibrateNetanalyzer)
ON_WM_KEYDOWN()
ON_COMMAND(ID_TEST, OnTest)
ON_WM_PAINT()
ON_UPDATE_COMMAND_UI(ID_START, OnUpdateStart)
ON_COMMAND(ID_HELP, OnHelp)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRepeaterView construction/destruction
CRepeaterView::CRepeaterView()
{
// TODO: add construction code here
}
CRepeaterView::~CRepeaterView()
{
}
BOOL CRepeaterView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CRepeaterView drawing
void CRepeaterView::OnDraw(CDC* pDC)
{
CBrush bkColor(RGB(0,128,128));
pDC->SelectObject(&bkColor);
pDC->Rectangle(0,0,800,600);
// pDC->SetBkColor(RGB(255,255,255));
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,165));
char msg[20];
CBrush redBrush(RGB(255,0,0));
CBrush greenBrush(RGB(0,255,0));
CBrush yellowBrush(RGB(255,255,0));
CBrush blueBrush(RGB(0,0,255));
CBrush greyBrush(RGB(128,128,128));
//框架:
pDC->SelectObject(&greyBrush);
pDC->Rectangle(0,100,800,102);
pDC->Rectangle(359,102,361,600);
pDC->Rectangle(0,260,359,262);
//设置静态区域:
CFont fontTitle,fontContent,fontSmall;
fontTitle.CreateFont(25,0,0,0,400,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH|FF_SWISS,"Arial");
CFont * pOldFont=pDC->SelectObject(&fontTitle);
pDC->TextOut(10,10,"部件(PN):");
pDC->TextOut(400,10,"型号:");
pDC->TextOut(10,40,"串号(SN):");
pDC->TextOut(400,40,"操作员:");
pDC->TextOut(10,70,"测试时间:");
pDC->TextOut(10,108,"前向测试:");
pDC->TextOut(10,268,"反向测试:");
// pDC->TextOut(400,50,"设备名称:");
// pDC->TextOut(10,10,"设备名称:");
fontContent.CreateFont(20,0,0,0,400,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH|FF_MODERN,"LinePrinter");
pDC->SelectObject(&fontContent);
if(stGlobals.strModel=="WYG10-10")
{
sprintf(msg,"14100002A");
}
else
{
sprintf(msg,"14100001A");
}
pDC->TextOut(150,10,msg);
pDC->TextOut(550,10,stGlobals.strModel);
pDC->TextOut(150,40,stGlobals.strSerialNO);
pDC->TextOut(550,40,stGlobals.strOperator);
char time[256];
int Year,Month,Date;
Year=atoi(stGlobals.strYear);
Month=atoi(stGlobals.strMonth);
Date=atoi(stGlobals.strDate);
sprintf(time,"%d年%d月%d日",Year,Month,Date);
pDC->TextOut(150,70,time);
//测试项目选择:
//前向测试:
pDC->TextOut(10,138,"标称最大输出功率");
pDC->TextOut(190,138,"自动电平控制");
pDC->TextOut(10,158,"频率误差");
pDC->TextOut(190,158,"增益");
pDC->TextOut(10,178,"带内波动");
pDC->TextOut(190,178,"噪声系数");
pDC->TextOut(10,198,"电压驻波比");
pDC->TextOut(190,198,"传输时延");
pDC->TextOut(10,218,"波形质量因素");
pDC->TextOut(190,218,"杂散发射");
pDC->TextOut(10,238,"互调衰减");
pDC->TextOut(190,238,"带外抑制");
// pDC->SelectStockObject(GRAY_BRUSH);
// pDC->SelectObject(&greenBrush);
switch(stGlobals.colForwardTotalPower)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,140,175,155);
switch(stGlobals.colForwardALC)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,140,325,155);
switch(stGlobals.colForwardFreqErr)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,160,175,175);
switch(stGlobals.colForwardGain)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,160,325,175);
switch(stGlobals.colForwardInbandFlatness)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,180,175,195);
switch(stGlobals.colForwardNoiseFigure)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,180,325,195);
switch(stGlobals.colForwardVSWR)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,200,175,215);
switch(stGlobals.colForwardDelay)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,200,325,215);
switch(stGlobals.colForwardWaveQuality)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,220,175,235);
switch(stGlobals.colForwardSpurEmi)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,220,325,235);
switch(stGlobals.colForwardIntermodAtt)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,240,175,255);
switch(stGlobals.colForwardRestrain)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,240,325,255);
//反向测试:
pDC->TextOut(10,298,"标称最大输出功率");
pDC->TextOut(190,298,"自动电平控制");
pDC->TextOut(10,318,"频率误差");
pDC->TextOut(190,318,"增益");
pDC->TextOut(10,338,"带内波动");
pDC->TextOut(190,338,"噪声系数");
pDC->TextOut(10,358,"电压驻波比");
pDC->TextOut(190,358,"传输时延");
pDC->TextOut(10,378,"波形质量因素");
pDC->TextOut(190,378,"杂散发射");
pDC->TextOut(10,398,"互调衰减");
pDC->TextOut(190,398,"带外抑制");
switch(stGlobals.colReverseTotalPower)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,300,175,315);
switch(stGlobals.colReverseALC)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,300,325,315);
switch(stGlobals.colReverseFreqErr)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(160,320,175,335);
switch(stGlobals.colReverseGain)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
case 4:pDC->SelectObject(&redBrush);
}
pDC->Ellipse(310,320,325,335);
switch(stGlobals.colReverseInbandFlatness)
{
case 0:pDC->SelectObject(&greyBrush);break;
case 1:pDC->SelectObject(&yellowBrush);break;
case 2:pDC->SelectObject(&blueBrush);break;
case 3:pDC->SelectObject(&greenBrush);break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -