📄 drawmap.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 + -