⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 repeaterview.cpp

📁 用射频测试系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// 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 + -