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

📄 mappropdlg.cpp

📁 一个简单的vc++开发的城市公交地图编辑器源代码及生成的地图样例
💻 CPP
字号:
// MapPropDlg.cpp : implementation file
//

#include "stdafx.h"
#include "stmeditor.h"
#include "MapPropDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMapPropDlg dialog


CMapPropDlg::CMapPropDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMapPropDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMapPropDlg)
	m_Author = _T("");
	m_bkfilename = _T("");
	m_Memory = _T("");
	m_Name = _T("");
	m_Width = 0;
	m_Height = 0;
	m_Scale = 0;
	//}}AFX_DATA_INIT
}


void CMapPropDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMapPropDlg)
	DDX_Text(pDX, IDC_AUTHOR, m_Author);
	DDX_Text(pDX, IDC_BKGROUND, m_bkfilename);
	DDX_Text(pDX, IDC_MEMORY, m_Memory);
	DDX_Text(pDX, IDC_NAME, m_Name);
	DDX_Text(pDX, IDC_WIDTH, m_Width);
	DDX_Text(pDX, IDC_HEIGHT, m_Height);
	DDX_Text(pDX, IDC_SCALE, m_Scale);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMapPropDlg, CDialog)
	//{{AFX_MSG_MAP(CMapPropDlg)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_BROWSE, OnBrowse)
	ON_BN_CLICKED(IDC_SIZEMATCH, OnSizematch)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMapPropDlg message handlers

void CMapPropDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	if(m_Picture)
	{
		CRect rc;
		CWnd *previewwnd=GetDlgItem(IDC_PREVIEW);
		previewwnd->GetWindowRect(&rc);
		ScreenToClient(&rc);
		m_Picture.Render(&dc,rc);
	}
}

void CMapPropDlg::OnBrowse() 
{
	UpdateData();
	CFileDialog	browse(TRUE,NULL,NULL,0,"All Image File(*.jpg;*.jpeg;*.GIF;*.BMP)|*.jpg;*.jpeg;*.gif;*.bmp;||");
	if(browse.DoModal()==IDOK)
	{
		m_bkfilename=browse.GetPathName();
		m_Picture.Load(m_bkfilename);
		if(m_Picture)
		{
			GetDlgItem(IDC_SIZEMATCH)->EnableWindow(TRUE);
			OnSizematch();
			UpdateData(FALSE);
			BeginWaitCursor();
			Invalidate();
			EndWaitCursor();
		}else
			GetDlgItem(IDC_SIZEMATCH)->EnableWindow(FALSE);
	}	
}

void CMapPropDlg::OnSizematch() 
{
	 if(IsDlgButtonChecked(IDC_SIZEMATCH))	
	 {
		 CSize size=m_Picture.GetImageSize();
		 m_Width=size.cx;
		 m_Height=size.cy;
		 UpdateData(FALSE);
	 }
}

BOOL CMapPropDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_Picture.Load(m_bkfilename);	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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