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

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

?? serialsampleview.cpp

?? vc+mapx 源代碼
?? CPP
字號:
// SerialSampleView.cpp : implementation of the CSerialSampleView class
//
/* 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 "SerialSample.h"

#include "SerialSampleDoc.h"
#include "SerialSampleView.h"
#include "ChooseListDialog.h"
#include "AddThemeDialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView

IMPLEMENT_DYNCREATE(CSerialSampleView, CView)

BEGIN_MESSAGE_MAP(CSerialSampleView, CView)
	//{{AFX_MSG_MAP(CSerialSampleView)
	ON_WM_SIZE()
	ON_WM_SETFOCUS()
	ON_COMMAND(ID_ARROW_TOOL, OnArrowTool)
	ON_UPDATE_COMMAND_UI(ID_ARROW_TOOL, OnUpdateArrowTool)
	ON_COMMAND(ID_ZOOMIN_TOOL, OnZoominTool)
	ON_UPDATE_COMMAND_UI(ID_ZOOMIN_TOOL, OnUpdateZoominTool)
	ON_COMMAND(ID_ZOOMOUT_TOOL, OnZoomoutTool)
	ON_UPDATE_COMMAND_UI(ID_ZOOMOUT_TOOL, OnUpdateZoomoutTool)
	ON_COMMAND(ID_ADD_DATA, OnAddData)
	ON_COMMAND(ID_ADD_THEME, OnAddTheme)
	ON_UPDATE_COMMAND_UI(ID_ADD_THEME, OnUpdateAddTheme)
	ON_COMMAND(ID_LAYER_CONTROLS, OnLayerControls)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

BEGIN_EVENTSINK_MAP(CSerialSampleView, CView)
	ON_EVENT(CSerialSampleView, IDC_MAP, MAPX_DISPID_THEMEMODIFYREQUESTED, OnMapThemeModifyRequested, VTS_DISPATCH)
END_EVENTSINK_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView construction/destruction

CSerialSampleView::CSerialSampleView()
{
	// TODO: add construction code here

}

CSerialSampleView::~CSerialSampleView()
{
}

BOOL CSerialSampleView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView drawing

void CSerialSampleView::OnDraw(CDC* pDC)
{
	CSerialSampleDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView printing

BOOL CSerialSampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CSerialSampleView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CSerialSampleView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView diagnostics

#ifdef _DEBUG
void CSerialSampleView::AssertValid() const
{
	CView::AssertValid();
}

void CSerialSampleView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CSerialSampleDoc* CSerialSampleView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSerialSampleDoc)));
	return (CSerialSampleDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CSerialSampleView message handlers

void CSerialSampleView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	CMapX* map = GetDocument()->GetMap();
	if(map != NULL)
		map->MoveWindow(0,0,cx,cy);
}

void CSerialSampleView::OnSetFocus(CWnd* pOldWnd) 
{
	CView::OnSetFocus(pOldWnd);
	
	CMapX* map = GetDocument()->GetMap();
	if(map != NULL)
		map->SetFocus();
}

void CSerialSampleView::OnArrowTool() 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL)
			map->SetCurrentTool(miArrowTool);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnUpdateArrowTool(CCmdUI* pCmdUI) 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL) {
			pCmdUI->Enable(TRUE);
			pCmdUI->SetCheck(map->GetCurrentTool() == miArrowTool);
		} else
			pCmdUI->Enable(FALSE);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnZoominTool() 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL)
			map->SetCurrentTool(miZoomInTool);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}

}

void CSerialSampleView::OnUpdateZoominTool(CCmdUI* pCmdUI) 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL) {
			pCmdUI->Enable(TRUE);
			pCmdUI->SetCheck(map->GetCurrentTool() == miZoomInTool);
		} else
			pCmdUI->Enable(FALSE);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnZoomoutTool() 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL)
			map->SetCurrentTool(miZoomOutTool);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnUpdateZoomoutTool(CCmdUI* pCmdUI) 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		if(map != NULL) {
			pCmdUI->Enable(TRUE);
			pCmdUI->SetCheck(map->GetCurrentTool() == miZoomOutTool);
		} else
			pCmdUI->Enable(FALSE);
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnMapThemeModifyRequested(LPDISPATCH theme) {
	CMapXTheme themeObj;
	COptionalVariant optVt;
	themeObj.AttachDispatch(theme, FALSE);
	// This function shows the Theme Modification dialog when the Legend
	// for the theme is double clicked upon.
	// If the control key is being held down, however,  the Legend modification
	// dialog is shown instead.
	// The optional paraemters specify the help file (we don't have one).
	try {
		if(GetAsyncKeyState(VK_CONTROL)) {
			themeObj.GetLegend().LegendDlg(optVt, optVt);
		} else {
			themeObj.ThemeDlg(optVt, optVt);
		}
	} catch (COleDispatchException *e) {
		e->ReportError();
		e->Delete();
	} catch (COleException *e) {
		e->ReportError();
		e->Delete();
	}
}

void CSerialSampleView::OnAddData() 
{
	CStringList tables;
	CDaoDatabase* db = GetDocument()->GetDB();
	if(db == NULL) {
		CString msg;
		try {	
			msg.Format("Could not open database %s", GetDocument()->GetDBPath());
		} catch(CString s) {
			msg = s; // GetDBPath will throw an appropriate error if it can't find the database.
		}
		AfxMessageBox(msg);
		return;
	}

	int nCount = db->GetTableDefCount();
	CDaoTableDefInfo info;
	for(int i = 0; i < nCount; i++) {
		db->GetTableDefInfo(i, info);
		// Add all non system tables to the list
		if(!(info.m_lAttributes & dbSystemObject) && !(info.m_lAttributes & dbHiddenObject))
			tables.AddTail(info.m_strName);
	}

	CMapX* map = GetDocument()->GetMap();
	if(map == NULL) {
		AfxMessageBox("Add Data called without a Map control");
		return;
	}

	// Then, remove all the tables which we've already added as datasets.
	CMapXDatasets datasets = map->GetDatasets();
	nCount = datasets.GetCount();
	for(i = 1; i <= nCount; i++) {
		POSITION pos = tables.Find(datasets.Item(i).GetName());
		if(pos != NULL)
			tables.RemoveAt(pos);
	}
	
	if(tables.GetCount() == 0) {
		AfxMessageBox("No tables left to add");
		return;
	}

	// Now, ask the user to pick a dataset to add
	CChooseListDialog choiceDlg("Please choose a table to add:", tables, 0, this);
	
	CString choice;
	try {
		choice = choiceDlg.GetChoice();
	} catch(CString) {
		return; // Do nothing if the user doesn't pick anything
	}

	// And add the chosen table.
	GetDocument()->AddDataset(choice);
}
void CSerialSampleView::OnAddTheme() 
{	
	CMapX* map = GetDocument()->GetMap();
	if(map != NULL) {
		CAddThemeDialog dlg(map);
		dlg.DoModal();
	}
}

void CSerialSampleView::OnUpdateAddTheme(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(GetDocument()->GetMap() != NULL && GetDocument()->GetMap()->GetDatasets().GetCount() > 0);
}

void CSerialSampleView::OnLayerControls() 
{
	try {
		CMapX* map = GetDocument()->GetMap();
		COptionalVariant optVt;
		if(map != NULL)
			// The optional parameters can be used to specify a help file
			map->GetLayers().LayersDlg(optVt, optVt); 
	} catch(COleDispatchException* e) {
		e->ReportError();
		e->Delete();
	} catch(COleException* e) {
		e->ReportError();
		e->Delete();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产系列| 欧美无砖专区一中文字| 久久久国产精品麻豆| 国产一区二区三区四区在线观看| 亚洲精品一区二区三区99| 国产乱子轮精品视频| 国产色一区二区| 91在线观看美女| 丝袜美腿亚洲综合| 久久久久亚洲综合| 91丨九色丨蝌蚪丨老版| 亚洲成人精品一区二区| 精品国产1区2区3区| www.成人网.com| 婷婷开心久久网| 精品盗摄一区二区三区| 99久久99久久免费精品蜜臀| 亚洲激情图片小说视频| 欧美成人一区二区三区| a美女胸又www黄视频久久| 亚洲一区在线电影| 久久综合九色综合欧美亚洲| 91无套直看片红桃| 日本不卡一二三| 国产精品免费aⅴ片在线观看| 欧洲亚洲精品在线| 国产一区二区三区免费观看| 尤物视频一区二区| 精品国产污网站| 95精品视频在线| 国产做a爰片久久毛片| 一区二区三区免费在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 日韩经典中文字幕一区| 欧美国产一区二区| 91精品中文字幕一区二区三区| 丰满亚洲少妇av| 日韩av中文在线观看| 国产精品久久久久久久久动漫| 欧美一区二区三区视频在线| 国产凹凸在线观看一区二区| 日韩黄色免费电影| 亚洲女与黑人做爰| 精品国产污网站| 欧美电影一区二区三区| 91小视频免费看| 国精品**一区二区三区在线蜜桃| 亚洲大片在线观看| 成人欧美一区二区三区视频网页| 精品乱人伦一区二区三区| 欧美曰成人黄网| 99久久99久久精品免费看蜜桃| 蜜桃视频第一区免费观看| 亚洲国产综合在线| 中文字幕中文在线不卡住| 国产午夜精品在线观看| 精品少妇一区二区三区视频免付费| 日本韩国欧美一区二区三区| 国产91清纯白嫩初高中在线观看| 日本中文字幕一区二区有限公司| 亚洲自拍与偷拍| 亚洲欧洲一区二区三区| 国产欧美视频在线观看| 精品国产91亚洲一区二区三区婷婷 | 粉嫩久久99精品久久久久久夜| 午夜精品久久久久久久久| 一区二区三区精品视频| 国产精品久久久久久久浪潮网站 | 亚洲一区二区三区四区在线免费观看 | **欧美大码日韩| 国产精品色一区二区三区| 亚洲精品一区在线观看| 欧美xxx久久| 日韩欧美一区二区久久婷婷| 91精品欧美综合在线观看最新| 欧美无乱码久久久免费午夜一区 | 国产精品久久精品日日| 国产精品美女久久久久aⅴ| 久久精品视频在线免费观看| 久久综合久久久久88| 久久亚洲二区三区| 国产日韩欧美在线一区| 国产亚洲精品资源在线26u| 国产亚洲一二三区| 国产精品欧美综合在线| 国产精品久久久久久久第一福利 | 国产精品一区二区你懂的| 国产精品中文字幕一区二区三区| 国产精品综合av一区二区国产馆| 国产成人aaa| 色综合视频在线观看| 色综合视频在线观看| 欧美在线视频你懂得| 欧美高清视频不卡网| 精品国产免费人成在线观看| 久久奇米777| 1区2区3区国产精品| 一二三四区精品视频| 五月激情丁香一区二区三区| 秋霞电影网一区二区| 国产伦精品一区二区三区免费迷 | 亚洲狠狠爱一区二区三区| 午夜一区二区三区视频| 日韩国产在线观看一区| 麻豆91在线观看| 国产精品资源在线看| 丁香亚洲综合激情啪啪综合| 色综合久久88色综合天天6| 欧美日韩国产美女| 久久精品亚洲精品国产欧美| 日韩美女视频一区| 蜜臀精品一区二区三区在线观看| 国产精品香蕉一区二区三区| 日本韩国欧美一区| 精品国产伦一区二区三区观看方式| 中文字幕免费一区| 亚洲国产成人porn| 国产成人亚洲精品狼色在线 | 51精品视频一区二区三区| xf在线a精品一区二区视频网站| 一区二区中文字幕在线| 蜜臀精品一区二区三区在线观看| 成人免费精品视频| 日韩一二三四区| 亚洲天堂免费看| 久久9热精品视频| 欧美系列一区二区| 久久精品日产第一区二区三区高清版| 一区二区视频在线看| 精品午夜久久福利影院| 欧美最猛黑人xxxxx猛交| 国产欧美精品一区二区三区四区 | 2021国产精品久久精品| 亚洲成人综合网站| 不卡一区二区在线| 精品日韩av一区二区| 一区二区激情小说| 成人黄页在线观看| 久久综合九色综合欧美98| 爽爽淫人综合网网站| 91免费观看在线| 日本一区二区成人| 美女尤物国产一区| 欧美日韩高清在线播放| 亚洲欧美日韩国产综合| 国产激情一区二区三区四区| 欧美一区二区国产| 午夜在线成人av| 欧美专区亚洲专区| 亚洲精品中文在线影院| 成人福利在线看| 国产亚洲一区二区三区| 精品一区精品二区高清| 在线不卡一区二区| 亚洲va在线va天堂| 欧美日韩一区在线观看| 亚洲三级在线看| av一区二区不卡| 欧美国产激情二区三区| 麻豆成人综合网| 欧美一级艳片视频免费观看| 亚洲成av人**亚洲成av**| 在线区一区二视频| 一区二区三区影院| 色婷婷av一区二区三区之一色屋| 国产精品电影一区二区| 成年人国产精品| 亚洲视频免费在线观看| 91美女在线看| 亚洲男人天堂一区| 欧美色国产精品| 日韩电影一区二区三区| 欧美精品v日韩精品v韩国精品v| 天使萌一区二区三区免费观看| 欧美理论电影在线| 日本vs亚洲vs韩国一区三区 | 不卡一卡二卡三乱码免费网站| 国产色91在线| 高清不卡在线观看| **欧美大码日韩| 欧美午夜精品久久久久久孕妇 | 亚洲另类在线视频| 色综合色综合色综合色综合色综合 | 国产亚洲精品中文字幕| 成人黄色一级视频| 亚洲精品日日夜夜| 欧美性xxxxx极品少妇| 麻豆免费看一区二区三区| 久久久亚洲午夜电影| 成人开心网精品视频| 一区二区在线观看视频| 欧美老女人第四色| 国产精品66部| 一区二区三区在线免费视频| 欧美性感一区二区三区| 免费人成在线不卡| 国产精品久久久久久妇女6080| 91高清视频在线| 激情图片小说一区| 亚洲图片另类小说|