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

📄 ckk.cpp

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

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

/////////////////////////////////////////////////////////////////////////////
// CCkk dialog


CCkk::CCkk(CWnd* pParent /*=NULL*/)
	: CDialog(CCkk::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCkk)
	m_d2 = 0.0;
	m_f2 = 0.0;
	m_hb2 = 0.0;
	m_hu2 = 0.0;
	//}}AFX_DATA_INIT
}


void CCkk::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCkk)
	DDX_Text(pDX, IDC_d2, m_d2);
	DDX_Text(pDX, IDC_f2, m_f2);
	DDX_Text(pDX, IDC_hb2, m_hb2);
	DDX_Text(pDX, IDC_hu2, m_hu2);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CCkk message handlers

void CCkk::OnPaint() 
{
	UpdateData(TRUE);
	CPaintDC dc(this); // device context for painting
	
	
	dc.SetMapMode(MM_ANISOTROPIC);//修改映射模式
     dc.SetWindowOrg(0,100);//设备坐标(左上角)
	dc.SetWindowExt(195,-100);//设备坐标(右下角)
	 CRect rc;
	GetClientRect(rc);
	dc.SetViewportOrg(0,0);//视图坐标
	dc.SetViewportExt(rc.Width(),rc.Height());
	
	dc.MoveTo(0,0);
 
	
    
  for(int x=40;x<195;x+=15)
	{
	  dc.MoveTo(x,30);	
	  dc.LineTo(x,100);
	
	}
	
  for(int y=30;y<100;y+=15)
	{
	  dc.MoveTo(35,y);	
	  dc.LineTo(200,y);
	 
	}
	
	CPen pen(PS_SOLID,0.5,RGB(255,0,0)),*pOldPen;
	pOldPen=dc.SelectObject(&pen);	
	for(m_d2=40,m_la1=30;m_d2<195;m_d2+=15)
	{
	dc.MoveTo(m_d2,m_la1);
    m_la1=69.55+26.16*log10(m_f2)-13.82*log10(m_hb2)-8.29*log10(1.54*m_hu2)*log10(1.54*m_hu2)-1.10+(44.9-6.55*log10(m_hb2))*log10((m_d2)+1)-100;
	m_m=m_la1;
	dc.LineTo(m_d2+15,m_m);
  }
	CPen pen1(PS_SOLID,0.5,RGB(0,255,0));
	pOldPen=dc.SelectObject(&pen1);	
	for(m_d2=40,m_la1=30;m_d2<195;m_d2+=15)
	{
	dc.MoveTo(m_d2,m_la1);
    m_la1=69.55+26.16*log10(m_f2)-13.82*log10(m_hb2)-8.29*log10(1.54*m_hu2)*log10(1.54*m_hu2)-1.10+(44.9-6.55*log10(m_hb2))*log10((m_d2)+1)-100-4.5+m_la1/7;
	m_m=m_la1;
	dc.LineTo(m_d2+15,m_m);
  }
	CPen pen2(PS_SOLID,0.5,RGB(0,0,255));
	pOldPen=dc.SelectObject(&pen2);	
	for(m_d2=40,m_la1=30;m_d2<195;m_d2+=15)
	{
	dc.MoveTo(m_d2,m_la1);
    m_la1=69.55+26.16*log10(m_f2)-13.82*log10(m_hb2)-8.29*log10(1.54*m_hu2)*log10(1.54*m_hu2)-1.10+(44.9-6.55*log10(m_hb2))*log10((m_d2)+1)-100+1.5;
	m_m=m_la1;
	dc.LineTo(m_d2+15,m_m);
  }// TODO: Add your message handler code here
	
CPen pen3(PS_SOLID,0.5,RGB(125,125,125));
	pOldPen=dc.SelectObject(&pen3);	
	for(m_d2=40,m_la1=30;m_d2<195;m_d2+=15)
	{
	dc.MoveTo(m_d2,m_la1);
    m_la1=69.55+26.16*log10(m_f2)-13.82*log10(m_hb2)-8.29*log10(1.54*m_hu2)*log10(1.54*m_hu2)-1.10+(44.9-6.55*log10(m_hb2))*log10(m_d2)+2.25-4.78*log10(m_f2)*log10(m_f2)+18.33*log10(m_f2)-40.94-100;
	m_m=m_la1;
	dc.LineTo(m_d2+15,m_m);
	}// Do not call CDialog::OnPaint() for painting messages
UpdateData(false);
}

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

⌨️ 快捷键说明

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