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

📄 cdraw1.cpp

📁 用于移动通信计算场强
💻 CPP
字号:
// Cdraw1.cpp : implementation file
//

#include "stdafx.h"
#include "lms.h"
#include "Cdraw1.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCdraw1 dialog


CCdraw1::CCdraw1(CWnd* pParent /*=NULL*/)
	: CDialog(CCdraw1::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCdraw1)
	m_d1 = 0.0;
	m_f1 = 0.0;
	m_hb1 = 0.0;
	m_hu1 = 0.0;
	//}}AFX_DATA_INIT
}


void CCdraw1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCdraw1)
	DDX_Text(pDX, IDC_d1, m_d1);
	DDX_Text(pDX, IDC_f1, m_f1);
	DDX_Text(pDX, IDC_hb1, m_hb1);
	DDX_Text(pDX, IDC_hu1, m_hu1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCdraw1, CDialog)
	//{{AFX_MSG_MAP(CCdraw1)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_update, Onupdate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCdraw1 message handlers

void CCdraw1::OnPaint() 
{
	UpdateData(true);
	CPaintDC dc(this); // device context for painting
	
	
		dc.SetMapMode(MM_ANISOTROPIC);//修改映射模式
     dc.SetWindowOrg(0,60);//设备坐标(左上角)
	dc.SetWindowExt(40,-60);//设备坐标(右下角)
	 CRect rc;
	GetClientRect(rc);
	dc.SetViewportOrg(0,10);//视图坐标
	dc.SetViewportExt(rc.Width(),rc.Height());
	dc.MoveTo(0,0);
 
	
    
  for(double x=5;x<40;x+=3)
	{
	  dc.MoveTo(x,18);	
	  dc.LineTo(x,60);
	
	}
	for(double y=20;y<60;y+=2)
	{
	  dc.MoveTo(4.7,y);	
	  dc.LineTo(40,y);

	}
	
	CPen pen(PS_SOLID,0.5,RGB(255,0,0)),*pOldPen;
	pOldPen=dc.SelectObject(&pen);
	for(m_d1=5,m_fa1=60;m_d1<40;m_d1+=5)
	{
	dc.MoveTo(m_d1,m_fa1);
	m_fa1=39.82+30.81-6.16*log10(m_f1)+13.82*log10(m_hb1)+8.29*log10(1.54*m_hu1)*log10(1.54*m_hu1)-1.10-(44.9-6.55*log10(m_hb1))*log10(m_d1)+4;
	m_fa1=m_fa1-10;
	m_n=m_fa1;
	dc.LineTo(m_d1+5,m_n);
	}
	dc.SelectObject(pOldPen);
    CPen pen1(PS_SOLID,0.5,RGB(0,255,0));	
	pOldPen=dc.SelectObject(&pen1);
	for(m_d1=5,m_fa1=60;m_d1<40;m_d1+=5)
	{
	dc.MoveTo(m_d1,m_fa1);
	m_fa1=39.82+30.81-6.16*log10(m_fa1)+13.82*log10(m_hb1)+8.29*log10(1.54*m_hu1)*log10(1.54*m_hu1)-1.10-(44.9-6.55*log10(m_hb1))*log10(m_d1)-2.5;
	m_fa1=m_fa1-10;
	m_n=m_fa1;
	dc.LineTo(m_d1+5,m_n);
	}
	dc.SelectObject(pOldPen);
	 CPen pen2(PS_SOLID,0.5,RGB(0,0,255));	
	pOldPen=dc.SelectObject(&pen2);
	for(m_d1=5,m_fa1=60;m_d1<40;m_d1+=5)
	{
	dc.MoveTo(m_d1,m_fa1);
	m_fa1=39.82+30.81-6.16*log10(m_fa1)+13.82*log10(m_hb1)+8.29*log10(1.54*m_hu1)*log10(1.54*m_hu1)-1.10-(44.9-6.55*log10(m_hb1))*log10(m_d1)+5.5;
	m_fa1=m_fa1-10;
	m_n=m_fa1;
	dc.LineTo(m_d1+5,m_n);
	}
	dc.SelectObject(pOldPen);// TODO: Add your message handler code here
	
	/*CPen pen3(PS_SOLID,0.5,RGB(125,125,125));	
	pOldPen=dc.SelectObject(&pen3);
	for(m_d1=5,m_fa1=60;m_d1<40;m_d1+=5)
	{
	dc.MoveTo(m_d1,m_fa1);
	m_fa1=39.82+30.81-6.16*log10(m_f1)+13.82*log10(m_hb1)+8.29*log10(1.54*m_hu1)*log10(1.54*m_hu1)-1.10-(44.9-6.55*log10(m_hb1))*log10(m_d1)+4.78*log10(m_f1)*log10(m_f1)-18.33*log10(m_f1)+40.94-0.8-20;
	m_n=m_fa1;
	dc.LineTo(m_d1+5,m_n);
	}
	dc.SelectObject(pOldPen);// Do not call CDialog::OnPaint() for painting messages*/
UpdateData(false);
}

void CCdraw1::Onupdate() 
{
	Invalidate();// TODO: Add your control notification handler code here
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -