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

📄 renderpiedlg.cpp

📁 vc 和mapobjects地理信息系统组件开发 很有启发意义和参考价值
💻 CPP
字号:
// RenderPieDlg.cpp : implementation file
//

#include "stdafx.h"
#include "mapper.h"
#include "RenderPieDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CRenderPieDlg dialog


CRenderPieDlg::CRenderPieDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRenderPieDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRenderPieDlg)
	m_sField = _T("");
	m_sSizeField = _T("");
	m_iMin = 10;
	m_iMax = 20;
	//}}AFX_DATA_INIT
}


void CRenderPieDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRenderPieDlg)
	DDX_Control(pDX, IDC_SIZE_FIELD, m_oSizeField);
	DDX_Control(pDX, IDC_COLOR, m_oColor);
	DDX_Control(pDX, IDC_FIELD, m_oField);
	DDX_Control(pDX, IDC_FIELD_LIST, m_oFieldList);
	DDX_CBString(pDX, IDC_FIELD, m_sField);
	DDX_CBString(pDX, IDC_SIZE_FIELD, m_sSizeField);
	DDX_Text(pDX, IDC_MIN, m_iMin);
	DDX_Text(pDX, IDC_MAX, m_iMax);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRenderPieDlg, CDialog)
	//{{AFX_MSG_MAP(CRenderPieDlg)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_QUIT, OnQuit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRenderPieDlg message handlers


BOOL CRenderPieDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CString s;
	int i,count=m_taLayerField.GetSize();
	for(i=0;i<count;i++)
	{
		m_oField.AddString(m_taLayerField[i].szField);
		m_oSizeField.AddString(m_taLayerField[i].szField);
	}	

	m_oField.SetCurSel(0);
	m_oSizeField.SetCurSel(0);
	m_oColor.SetColor(RGB(255,0,0));	

	m_oFieldList.InsertColumn(0,"颜色");
	m_oFieldList.InsertColumn(1,"字段");
	m_oFieldList.SetColumnWidth(0,60);
	m_oFieldList.SetColumnWidth(1,200);

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CRenderPieDlg::OnAdd() 
{
	UpdateData();

	//检查字段类型

	//检查重复
	for(int i=0;i<m_oFieldList.GetItemCount();i++)
	{
		if(m_oFieldList.GetItemText(i,1)==m_sField)
		{
			AfxMessageBox("当前字段已经设置!");
			return;
		}
	}

	
	long index=-1;
	m_oFieldList.InsertItemEx(index,m_oColor.GetColor());
	m_oFieldList.SetItemText(index,1,m_sField);

	UpdateData(FALSE);
}

void CRenderPieDlg::OnDelete() 
{
//	int n=m_oFieldList.GetNextItem(-1,LVNI_SELECTED);
//	if(n>0)
//	{
//		m_oFieldList.DeleteItem(n);
//	}
	m_oFieldList.DeleteAllItems();
}

void CRenderPieDlg::OnQuit() 
{
	//不能为空
	if(m_oFieldList.GetItemCount()<=0)
	{
		AfxMessageBox("至少设置一个字段!");
		return;
	}
	
	PieDataInfo pdi;
	for(int i=0;i<m_oFieldList.GetItemCount();i++)
	{
		pdi.field=m_oFieldList.GetItemText(i,1);
		pdi.color=m_oFieldList.GetItemData(i);
		m_taPie.Add(pdi);
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

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