亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? addthemedialog.cpp

?? 利用MapX+Vc實現GIS系統簡單功能
?? CPP
字號:
// AddThemeDialog.cpp : implementation file
//
/* This sample application and corresponding sample code is provided 
 * for example purposes only.  It has not undergone rigorous testing 
 * and as such should not be shipped as part of a final application 
 * without extensive testing on the part of the organization releasing 
 * the end-user product.
 */

#include "stdafx.h"
#include "MapX.h"
#include "SerialSample.h"
#include "AddThemeDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAddThemeDialog dialog


CAddThemeDialog::CAddThemeDialog(CMapX* map,CWnd* pParent /*=NULL*/)
	: m_pMap(map), CDialog(CAddThemeDialog::IDD, pParent), m_single(true)
{
	//{{AFX_DATA_INIT(CAddThemeDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CAddThemeDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAddThemeDialog)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAddThemeDialog, CDialog)
	//{{AFX_MSG_MAP(CAddThemeDialog)
	ON_CBN_SELCHANGE(IDC_DATASET_LIST, OnSelchangeDatasetList)
	ON_CBN_SELCHANGE(IDC_TYPE_LIST, OnSelchangeTypeList)
	ON_LBN_SELCHANGE(IDC_FIELD_LIST, OnSelchangeFieldList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAddThemeDialog message handlers

void CAddThemeDialog::OnSelchangeDatasetList() 
{
	CListBox* fieldList = (CListBox*)GetDlgItem(IDC_FIELD_LIST);
	CComboBox* datasetList = (CComboBox*)GetDlgItem(IDC_DATASET_LIST);

	if(fieldList == NULL || datasetList == NULL || datasetList->GetCurSel() == -1)
		return;

	try {
		CMapXDataset ds;
		CString dsName;
		datasetList->GetLBText(datasetList->GetCurSel(), dsName);
		ds = m_pMap->GetDatasets().Item(dsName);
		fieldList->ResetContent();
		for(int i = 1; i <= ds.GetFields().GetCount(); i++)
			fieldList->AddString(ds.GetFields().Item(i).GetName());
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

BOOL CAddThemeDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CComboBox* datasetList = (CComboBox*)GetDlgItem(IDC_DATASET_LIST); 
	CComboBox* typeList = (CComboBox*)GetDlgItem(IDC_TYPE_LIST);
	if(m_pMap == NULL || datasetList == NULL || typeList == NULL) {
		DestroyWindow();
		return TRUE;
	}

	CMapXDatasets sets = m_pMap->GetDatasets();
	for(int i = 1; i <= sets.GetCount(); i++)
		datasetList->AddString(sets.Item(i).GetName());

	datasetList->SetCurSel(0);
	typeList->SetCurSel(0);
	OnSelchangeDatasetList();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAddThemeDialog::OnSelchangeTypeList() 
{
	CComboBox* typeList = (CComboBox*)GetDlgItem(IDC_TYPE_LIST);
	CWnd* textBox = GetDlgItem(IDC_FIELD_PROMPT);
	if(textBox == NULL || typeList == NULL)
		return;
	switch(typeList->GetCurSel()) {
	case 2: case 3: // Bar chart or pie chart
		m_single = false;
		textBox->SetWindowText("Fields: (press shift or ctrl to select multiple)");
		break;
	default:
		m_single = true;
		textBox->SetWindowText("Field:");
		OnSelchangeFieldList();
		break;
	}
}


void CAddThemeDialog::OnSelchangeFieldList() 
{
	// If single selection is turned on, we need to restrict the selection to
	// one item. Unfortunately, we can't do this in the normal fashion because
	// the selection state (single or multiple) changes depending on which item
	// is selected in the theme type list.
	if(m_single) {
		CListBox* fieldList = (CListBox*)GetDlgItem(IDC_FIELD_LIST);
		if(fieldList == NULL)
			return;

		int caretIndex = fieldList->GetCaretIndex();

		for(int i = 0; i < fieldList->GetCount(); i++) {
			fieldList->SetSel(i, FALSE);
		}
		if(caretIndex != -1)
			fieldList->SetSel(caretIndex, TRUE);
	}
}

void CAddThemeDialog::OnOK() 
{
	CListBox* fieldList = (CListBox*)GetDlgItem(IDC_FIELD_LIST);
	CComboBox* typeList = (CComboBox*)GetDlgItem(IDC_TYPE_LIST);
	CComboBox* datasetList = (CComboBox*)GetDlgItem(IDC_DATASET_LIST);
	if(fieldList == NULL || typeList == NULL || datasetList == NULL)
		return;

	if(fieldList->GetSelCount() == 0) {
		AfxMessageBox("Please select one or more fields to theme");
		return;
	}
	if(m_single && fieldList->GetSelCount() != 1) {
		AfxMessageBox("You have selected a single-variate theme type; please select exactly one field.");
		return;
	}
	if(typeList->GetCurSel() == -1) {
		AfxMessageBox("Please select a theme type from the theme type combo box");
		return;
	}
	if(datasetList->GetCurSel() == -1) {
		AfxMessageBox("Please select a dataset from which to theme");
		return;
	}

	CString dsName;
	ThemeTypeConstants themeType;
	CMapXFields fields;

	datasetList->GetLBText(datasetList->GetCurSel(), dsName);
	switch(typeList->GetCurSel()) {
		case 0: themeType = miThemeAuto; break;
		case 1: themeType = miThemeRanged; break;
		case 2: themeType = miThemeBarChart; break;
		case 3: themeType = miThemePieChart; break;
		case 4: themeType = miThemeGradSymbol; break;
		case 5: themeType = miThemeDotDensity; break;
		case 6: themeType = miThemeIndividualValue; break;
		default: AfxMessageBox("Unkown theme type"); break;
	}

	try {
		fields.CreateDispatch(fields.GetClsid());
		for(int i = 0; i < fieldList->GetCount(); i++) {
			if(fieldList->GetSel(i)) {
				CString fldName;
				fieldList->GetText(i, fldName);
				fields.Add(fldName, fldName);
			}
		}

		COleVariant typeVt((long)themeType),fieldsVt;
		COptionalVariant optVt;
		fieldsVt.vt = VT_DISPATCH;
		fieldsVt.pdispVal = fields.m_lpDispatch;
		fieldsVt.pdispVal->AddRef();
		m_pMap->GetDatasets().Item(dsName).GetThemes().Add(typeVt, fieldsVt, optVt, optVt);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
	
	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精一区二区三区| 国产精品三级视频| 亚洲成人资源在线| 欧美日韩亚洲高清一区二区| 一区二区欧美在线观看| 色噜噜狠狠成人中文综合| 亚洲精品久久久久久国产精华液| 色综合天天在线| 亚洲第一成年网| 91精品国产入口在线| 日韩vs国产vs欧美| 久久久久久久久久久久久女国产乱 | 懂色av一区二区在线播放| 国产日韩精品一区二区三区在线| 国产成人福利片| 综合欧美亚洲日本| 欧美精品v国产精品v日韩精品 | 亚洲精品在线电影| 高清不卡在线观看av| 亚洲视频一二三区| 91精品国产欧美日韩| 激情六月婷婷综合| 综合久久综合久久| 91麻豆精品久久久久蜜臀| 国产在线国偷精品产拍免费yy| 一区二区三区四区在线播放 | 日本不卡一二三| 久久精品欧美一区二区三区麻豆| yourporn久久国产精品| 午夜精品福利在线| 欧美激情资源网| 欧美日韩国产a| 国产剧情一区二区| 亚洲夂夂婷婷色拍ww47| 26uuu另类欧美| 色偷偷久久人人79超碰人人澡| 免费观看久久久4p| 亚洲四区在线观看| 亚洲精品一线二线三线无人区| 色吊一区二区三区| 国产美女精品人人做人人爽| 一区二区三区小说| 亚洲国产精品成人久久综合一区| 777xxx欧美| 色婷婷av久久久久久久| 国产一区二区精品在线观看| 亚洲国产精品天堂| 国产精品二区一区二区aⅴ污介绍| 日韩午夜在线观看视频| 色八戒一区二区三区| 国产一区二区h| 五月激情综合婷婷| 亚洲乱码日产精品bd| 久久婷婷一区二区三区| 这里只有精品免费| 91麻豆免费观看| 国产精品一区二区三区99| 日韩1区2区3区| 一区二区久久久久久| 国产精品乱码人人做人人爱 | 成人美女视频在线看| 久久精品av麻豆的观看方式| 亚洲成人激情av| 亚洲欧美激情小说另类| 国产精品久久毛片a| 国产午夜精品久久| 精品少妇一区二区三区日产乱码 | 一区二区三区中文字幕在线观看| 久久久久一区二区三区四区| 7777精品伊人久久久大香线蕉| 欧美在线观看一二区| 色婷婷av一区二区三区大白胸 | 波多野结衣中文字幕一区二区三区 | 经典一区二区三区| 久久精品免费看| 免费美女久久99| 蜜桃免费网站一区二区三区| 日韩高清在线一区| 免费观看久久久4p| 蜜臀91精品一区二区三区| 奇米四色…亚洲| 蜜臀av一区二区在线观看| 麻豆精品在线观看| 玖玖九九国产精品| 国产精品白丝jk黑袜喷水| 国产高清视频一区| 成人av电影观看| 91福利国产成人精品照片| 色成人在线视频| 欧美日韩一本到| 制服.丝袜.亚洲.另类.中文| 欧美一区二区三区不卡| 欧美成人综合网站| 久久久久久久久久看片| 国产精品热久久久久夜色精品三区| 国产精品久久久久久久第一福利 | 国产清纯白嫩初高生在线观看91 | 中文字幕第一区第二区| 国产精品久久久久久久久免费樱桃| 中文字幕亚洲一区二区va在线| 亚洲精品视频在线观看网站| 亚州成人在线电影| 精久久久久久久久久久| 不卡一区二区中文字幕| 欧美系列在线观看| 日韩欧美国产综合| 亚洲国产精品高清| 亚洲一区二区四区蜜桃| 六月丁香婷婷色狠狠久久| 国产精品12区| 欧美中文字幕亚洲一区二区va在线| 91精品国产色综合久久| 日本一区二区三区四区| 亚洲一区二区三区三| 另类欧美日韩国产在线| 不卡大黄网站免费看| 51久久夜色精品国产麻豆| 国产女人aaa级久久久级| 亚洲精品视频在线观看免费| 久久精品国产免费看久久精品| 高清av一区二区| 欧美军同video69gay| 国产亲近乱来精品视频| 亚洲不卡一区二区三区| 成人免费高清视频| 欧美精品第一页| 中文字幕在线观看不卡| 麻豆精品视频在线观看| 91免费视频网| 国产三级久久久| 日韩中文字幕91| 91一区二区在线| 2017欧美狠狠色| 午夜婷婷国产麻豆精品| 成人av网站免费| 久久久久久久综合| 午夜精品免费在线| 91视频免费看| 日本一区二区三区dvd视频在线| 丝袜亚洲另类欧美| 色综合一区二区| 国产精品污网站| 久久精品国产精品亚洲红杏| 欧美图区在线视频| 国产精品国产自产拍高清av王其| 老司机免费视频一区二区三区| 在线免费观看日韩欧美| 亚洲国产中文字幕| 成熟亚洲日本毛茸茸凸凹| 日韩欧美电影一二三| 亚洲二区视频在线| 91亚洲国产成人精品一区二三| www激情久久| 理论电影国产精品| 欧美精品亚洲一区二区在线播放| 亚洲免费观看高清完整版在线观看| 国产精品一区二区久激情瑜伽| 91精品国产乱码久久蜜臀| 亚洲成av人片| 欧美日韩在线综合| 一区二区三区在线观看国产| 97精品久久久久中文字幕 | 日韩免费电影网站| 偷拍与自拍一区| 99re66热这里只有精品3直播| 亚洲国产成人在线| 国产999精品久久久久久绿帽| 国产亚洲欧洲997久久综合| 国精品**一区二区三区在线蜜桃 | 久久亚洲精华国产精华液 | 激情欧美日韩一区二区| 日韩一区二区影院| 久久se精品一区二区| 日韩欧美一级特黄在线播放| 美脚の诱脚舐め脚责91| 精品免费国产一区二区三区四区| 麻豆国产欧美日韩综合精品二区 | 亚洲午夜精品在线| 欧美喷水一区二区| 日韩精品欧美成人高清一区二区| 8x福利精品第一导航| 日本最新不卡在线| 日韩精品在线一区二区| 国产一区二区在线影院| 久久精品视频一区二区三区| 国产成人aaa| 亚洲欧美乱综合| 欧美人与禽zozo性伦| 久久精品国产网站| 欧美经典一区二区| 91视视频在线观看入口直接观看www| 亚洲精品美腿丝袜| 91精品国产色综合久久不卡蜜臀 | 丁香六月综合激情| 国产精品久久久久久久久图文区 | 欧美精品v日韩精品v韩国精品v| 日韩不卡免费视频| 国产欧美日韩久久| 91久久国产综合久久| 日韩av中文字幕一区二区|