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

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

?? mdimap.cpp

?? VC編寫的MapInfo實例
?? CPP
字號:
// mdimap.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "mdimap.h"

#include "mainfrm.h"
#include "mdimadoc.h"
#include "mdimavw.h"
#include "ovvwdlg.h"
#include "mapinfow.h"       // ADDED FOR INTEGRATED MAPPING SUPPORT

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMdimapApp

BEGIN_MESSAGE_MAP(CMdimapApp, CWinApp)
	//{{AFX_MSG_MAP(CMdimapApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMdimapApp construction

CMdimapApp::CMdimapApp()
{
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CMdimapApp object

CMdimapApp theApp;

// This identifier was generated to be statistically unique for your app.
// You may change it if you prefer to choose a specific identifier.
static const CLSID BASED_CODE clsid =
{ 0xae8b3fc0, 0xf801, 0x11ce, { 0xbd, 0x29, 0x0, 0xaa, 0x0, 0x59, 0x4a, 0xd7 } };

/////////////////////////////////////////////////////////////////////////////
// ADDED FOR INTEGRATED MAPPING SUPPORT: The one and only DMapInfo object

DMapInfo mapinfo;

/////////////////////////////////////////////////////////////////////////////
// CMdimapApp initialization

BOOL CMdimapApp::InitInstance()
{
	// Initialize OLE libraries
	if (!AfxOleInit())
	{
		AfxMessageBox(IDP_OLE_INIT_FAILED);
		return FALSE;
	}

    // ADDED FOR INTEGRATED MAPPING SUPPORT
    if (!mapinfo.CreateDispatch("MapInfo.Application")) {
        AfxMessageBox("Failed to create MapInfo dispatch class!");
        //::MessageBox(0, mapinfo.GetFullName(), "Amazing!", MB_OK);
        return FALSE;
    }
    // END OF ADDITION FOR INTEGRATED MAPPING SUPPORT

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

	Enable3dControls();

	LoadStdProfileSettings();  // Load standard INI file options (including MRU)

	// Register the application's document templates.  Document templates
	//  serve as the connection between documents, frame windows and views.

	CMultiDocTemplate* pDocTemplate;
	pDocTemplate = new CMultiDocTemplate(
		IDR_MDIMAPTYPE,
		RUNTIME_CLASS(CMdimapDoc),
		RUNTIME_CLASS(CMDIChildWnd),          // standard MDI child frame
		RUNTIME_CLASS(CMdimapView));
	AddDocTemplate(pDocTemplate);

	// Connect the COleTemplateServer to the document template.
	//  The COleTemplateServer creates new documents on behalf
	//  of requesting OLE containers by using information
	//  specified in the document template.
	m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);

	// Register all OLE server factories as running.  This enables the
	//  OLE libraries to create objects from other applications.
	COleTemplateServer::RegisterAll();
		// Note: MDI applications register all server objects without regard
		//  to the /Embedding or /Automation on the command line.

	// create main MDI Frame window
	CMainFrame* pMainFrame = new CMainFrame;
	if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
		return FALSE;
	m_pMainWnd = pMainFrame;

	// Parse the command line to see if launched as OLE server
	if (RunEmbedded() || RunAutomated())
	{
		// Application was run with /Embedding or /Automation.  Don't show the
		//  main window in this case.
		return TRUE;
	}

	// When a server application is launched stand-alone, it is a good idea
	//  to update the system registry in case it has been damaged.
	m_server.UpdateRegistry(OAT_DISPATCH_OBJECT);
	COleObjectFactory::UpdateRegistryAll();

	// create a new (empty) document
    // Next API call commented out FOR INTEGRATED MAPPING SUPPORT. Uncomment if your app
    // wishes to create an empty document.
	// OnFileNew();

	if (m_lpCmdLine[0] != '\0')
	{
		// TODO: add command line processing here
	}

	// The main window has been initialized, so show and update it.
	pMainFrame->ShowWindow(m_nCmdShow);
	pMainFrame->UpdateWindow();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

// Implementation
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//{{AFX_MSG(CAboutDlg)
		// No message handlers
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// App command to run the dialog
void CMdimapApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// Routines from here down ADDED FOR INTEGRATED MAPPING SUPPORT
int CMdimapApp::ExitInstance() 
{
	mapinfo.ReleaseDispatch();
	return CWinApp::ExitInstance();
}

/////////////////////////////////////////////////////////////////////////////
// CMdimapApp Global functions - make it easier to get our application 
// object.

CMdimapApp *GetOurApp(void)
{
	return((CMdimapApp *)AfxGetApp());
}

/////////////////////////////////////////////////////////////////////////////
// CMdimapApp commands

void CMdimapApp::OnFileOpen() 
{
	// prompt the user
	CFileDialog dlgFile(TRUE, "tab", NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,
	                "MapInfo Tables (*.tab)|*.tab||", NULL);

    // fill in ofn structure
    CString strFile;
	dlgFile.m_ofn.lpstrTitle = "Open MapInfo Table";
	dlgFile.m_ofn.lpstrFile = strFile.GetBuffer(_MAX_PATH);
	dlgFile.m_ofn.nMaxFile = _MAX_PATH;

    // put up dialog and do post modal processing
	BOOL bResult = dlgFile.DoModal() == IDOK ? TRUE : FALSE;
	strFile.ReleaseBuffer();

    if (bResult) {
	    OpenDocumentFile(strFile);
    }
		// if returns NULL, the user has already been alerted
}

void CMdimapApp::ClearOverview(long lMapperId)
{
    if (m_pMainWnd != NULL) {
        ((CMainFrame *)m_pMainWnd)->ClearOverview(lMapperId);
    }
}

int CMdimapApp::MouseMode(void)
{
    if (m_pMainWnd != NULL) {
        return ((CMainFrame *)m_pMainWnd)->MouseMode();
    }
    return -1;
}

void CMdimapApp::UpdateOverview(long lMapperId)
{
    if (m_pMainWnd != NULL) {
        ((CMainFrame *)m_pMainWnd)->UpdateOverview(lMapperId);
    }
}

void CMdimapApp::PostOverviewUpdate(long lMapperId)
{
    if (m_pMainWnd != NULL) {
        ((CMainFrame *)m_pMainWnd)->PostMessage(WM_OVERVIEW_MESSAGE, 1, lMapperId);
    }
}

void CMdimapApp::CheckDestroyOverview(void)
{
    if (m_pMainWnd != NULL) {
        ((CMainFrame *)m_pMainWnd)->CheckDestroyOverview();
    }
}

long CMdimapApp::OverviewMapId(void)
{
    if (m_pMainWnd != NULL) {
        return ((CMainFrame *)m_pMainWnd)->OverviewMapId();
    }
    return 0L;
}

// END OF ADDITION FOR INTEGRATED MAPPING SUPPORT


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91天堂素人约啪| 精品综合久久久久久8888| 麻豆精品新av中文字幕| 91影视在线播放| 久久久久久久久99精品| 日韩一区精品视频| 91原创在线视频| 久久只精品国产| 日韩综合一区二区| jlzzjlzz欧美大全| 久久一留热品黄| 日本不卡的三区四区五区| 色综合久久88色综合天天免费| 久久精品男人天堂av| 日韩电影一二三区| 在线精品国精品国产尤物884a| 日本一区二区成人| 国产美女娇喘av呻吟久久| 91精品午夜视频| 一区二区三区在线观看网站| eeuss鲁片一区二区三区在线观看| 精品欧美一区二区久久| 日韩av一区二区三区四区| 在线观看av一区| 亚洲黄色片在线观看| 99在线精品免费| 国产精品美女久久久久高潮| 国产不卡一区视频| 国产网红主播福利一区二区| 久久99精品久久只有精品| 欧美一级午夜免费电影| 天天操天天干天天综合网| 欧美亚洲精品一区| 一区二区三区四区av| 一本色道久久综合狠狠躁的推荐| 中文av一区特黄| 粉嫩嫩av羞羞动漫久久久| 久久精品欧美一区二区三区不卡 | 国产拍欧美日韩视频二区| 精品无码三级在线观看视频| 欧美va亚洲va在线观看蝴蝶网| 看国产成人h片视频| 精品剧情在线观看| 国产又黄又大久久| 日本一区二区三区在线观看| 国产精品一二三区在线| 中文字幕不卡在线| 99精品视频在线观看| 亚洲色大成网站www久久九九| 一本大道久久a久久综合婷婷 | 26uuu另类欧美亚洲曰本| 国产一区高清在线| 日本一区二区三区四区| 成人av免费在线观看| 亚洲免费在线看| 欧美日韩综合色| 蜜臀va亚洲va欧美va天堂| www成人在线观看| 成人av资源网站| 一区二区三区中文免费| 911精品产国品一二三产区| 美女久久久精品| 国产亚洲1区2区3区| av中文一区二区三区| 一区二区三区影院| 欧美精品xxxxbbbb| 精品制服美女久久| 国产精品理论片在线观看| 在线精品视频小说1| 秋霞av亚洲一区二区三| 久久精品一区二区三区四区| av电影一区二区| 亚洲福利视频一区| 精品久久久久久最新网址| 大美女一区二区三区| 一区二区三区美女视频| 日韩欧美自拍偷拍| 成人精品免费网站| 亚洲制服丝袜一区| 精品国精品自拍自在线| av午夜精品一区二区三区| 视频一区欧美精品| 中文字幕av一区二区三区高| 在线观看一区日韩| 激情另类小说区图片区视频区| 国产精品久久精品日日| 欧美男人的天堂一二区| 国产精品乡下勾搭老头1| 一区二区成人在线| 精品久久久久一区| 在线精品视频小说1| 国内精品伊人久久久久av一坑| 成人免费小视频| 日韩精品中文字幕在线不卡尤物| 白白色 亚洲乱淫| 免费在线观看精品| 亚洲色图视频免费播放| 精品国产一区二区三区久久影院| 972aa.com艺术欧美| 国内精品国产成人| 亚洲成人一区二区在线观看| 国产日韩欧美制服另类| 欧美另类久久久品| 99久久精品99国产精品| 精品一区二区三区视频 | 国产日韩欧美麻豆| 欧美美女网站色| www.在线成人| 国产综合一区二区| 午夜久久久影院| 日韩毛片视频在线看| 久久日韩精品一区二区五区| 欧美日韩一级视频| 99久久国产免费看| 国产在线视频不卡二| 五月天视频一区| 亚洲视频1区2区| 国产欧美精品区一区二区三区| 欧美精品高清视频| 91成人在线免费观看| 丁香啪啪综合成人亚洲小说| 另类调教123区| 视频一区中文字幕| 亚洲国产一区二区a毛片| 亚洲人成网站精品片在线观看| 久久亚洲春色中文字幕久久久| 欧美精品日韩精品| 欧美日韩日日骚| 色偷偷一区二区三区| eeuss鲁片一区二区三区 | 调教+趴+乳夹+国产+精品| 中文字幕一区在线观看视频| 久久久美女毛片| 日韩美女视频在线| 欧美一级专区免费大片| 欧美老年两性高潮| 欧美色国产精品| 色噜噜偷拍精品综合在线| www.成人在线| a在线播放不卡| 99这里只有精品| 99久久婷婷国产| 99精品视频一区二区三区| 成人综合婷婷国产精品久久蜜臀 | 色狠狠av一区二区三区| av不卡免费电影| 国产成人免费视频网站高清观看视频| 韩日精品视频一区| 极品销魂美女一区二区三区| 裸体在线国模精品偷拍| 麻豆精品视频在线观看免费| 麻豆精品久久久| 久草这里只有精品视频| 激情图区综合网| 国产精品一区二区三区乱码| 国产一区二区不卡| 国产一区二区三区观看| 国产一二三精品| 国产精品18久久久久久vr| 精品一区二区三区免费视频| 九九在线精品视频| 国产一区二区精品久久99| 国产91丝袜在线播放0| 成人免费视频app| av不卡免费电影| 在线欧美日韩国产| 欧美疯狂性受xxxxx喷水图片| 69成人精品免费视频| 日韩三级免费观看| 久久亚洲二区三区| 国产精品久久久久久亚洲伦 | 久久久久久久久一| 久久天天做天天爱综合色| 中文久久乱码一区二区| 亚洲精品一二三| 午夜久久久久久久久| 久久精品国产久精国产| 国产一区美女在线| 成人白浆超碰人人人人| 91高清视频在线| 欧美丰满嫩嫩电影| 久久久影院官网| 国产精品成人一区二区艾草 | 欧美激情一区二区在线| 亚洲老司机在线| 舔着乳尖日韩一区| 国产精品系列在线观看| 色综合久久精品| 欧美一卡二卡在线| 国产精品女主播av| 亚洲午夜久久久久久久久久久 | 美女视频一区二区| 国产成人三级在线观看| 欧美综合在线视频| 欧美v国产在线一区二区三区| 欧美国产欧美综合| 性感美女极品91精品| 寂寞少妇一区二区三区| 色婷婷精品大视频在线蜜桃视频| 欧美男人的天堂一二区|