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

📄 drawmap.cpp

📁 自己编写的遗传算法源代码(GA)
💻 CPP
字号:
// DRAWMAP.cpp : implementation file
//

#include "stdafx.h"
#include "GATSP.h"
#include "DRAWMAP.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDRAWMAP dialog


CDRAWMAP::CDRAWMAP(CWnd* pParent /*=NULL*/)
	: CDialog(CDRAWMAP::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDRAWMAP)

	//}}AFX_DATA_INIT

	// 初始化城市坐标
	m_point[0].x = 220;  // 哈尔滨
	m_point[0].y = 5;
	m_point[1].x = 190;  // 北京
	m_point[1].y = 40;
	m_point[2].x = 160;  // 太原
	m_point[2].y = 80;
	m_point[3].x = 145;   // 兰州
	m_point[3].y = 120;
	m_point[4].x = 100;  // 西安
	m_point[4].y = 165;
	m_point[5].x = 115;  // 成都
	m_point[5].y = 195;
	m_point[6].x = 30;  // 拉萨
	m_point[6].y = 170;
	m_point[7].x = 180;  // 昆明
	m_point[7].y = 240;
	m_point[8].x = 240;  // 海口
	m_point[8].y = 290;
	m_point[9].x = 270;  // 广州
	m_point[9].y = 230;
	m_point[10].x = 290;  // 厦门
	m_point[10].y = 180;
	m_point[11].x = 280;  // 杭州
	m_point[11].y = 160;
	m_point[12].x = 250;  // 南京
	m_point[12].y = 120;
	m_point[13].x = 220;  // 武汉
	m_point[13].y = 180;
	m_point[14].x = 350;  // 上海
	m_point[14].y = 80;

}


void CDRAWMAP::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDRAWMAP)
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDRAWMAP, CDialog)
	//{{AFX_MSG_MAP(CDRAWMAP)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDRAWMAP message handlers
extern int loc[15];
void CDRAWMAP::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	
	// Do not call CDialog::OnPaint() for painting messages
	CRect city;
	CPen pen(PS_SOLID,0,RGB(255,0,0));
	CPen *oldpen = dc.SelectObject(&pen);
	for(int i = 0; i < 15; i++)
	{
		city.top = m_point[i].y - 5;
		city.left = m_point[i].x;
		city.right = m_point[i].x + 5;
		city.bottom = m_point[i].y;
		dc.Ellipse(&city);
		
	}
	dc.SelectObject(oldpen); // 还原为默认画笔
	CPoint dot1,dot2;
	for(int j = 0; j < 14; j++)
	{
		dot1.x = m_point[loc[j]].x;
		dot1.y = m_point[loc[j]].y;
		dot2.x = m_point[loc[j+1]].x;
		dot2.y = m_point[loc[j+1]].y;
		dc.MoveTo(dot1);
		dc.LineTo(dot2);
		Sleep(300);
	}
	dot1.x = (m_point[loc[14]]).x;
	dot1.y = (m_point[loc[14]]).y;
	dot2.x = (m_point[loc[0]]).x;
	dot2.y = (m_point[loc[0]]).y;
	dc.MoveTo(dot1);
	dc.LineTo(dot2);
}

⌨️ 快捷键说明

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