SkylineGlobe MFC C++ 开发示例代码
SkylineGlobe的SDK底层是跨平台的C++内核,面向不同平台封装原生的API,具有很高的执行效率,
下面是C++二次开发时的示例代码:
#import "D:\Program Files (x86)\Skyline\TerraExplorer Pro\TerraExplorerX.dll" no_namespace, named_guids
void OnLoadFinished();
void OnFileClosing();
void OnFrame();
void OnRButtonDown(long Flags, int X, int Y, VARIANTARG *pbHandled); ITerraExplorer51Ptr m_spTE;
DWORD m_dwCookie;
// SAMPLE CODE: Implementation for the dispatch and interface maps
BEGIN_DISPATCH_MAP(CMFCEmbeddedTEDlg, CCmdTarget)
DISP_FUNCTION_ID(CMFCEmbeddedTEDlg, "OnLoadFinished", 1,OnLoadFinished, VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CMFCEmbeddedTEDlg, "OnFileClosing", 2,OnFileClosing, VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CMFCEmbeddedTEDlg, "OnFrame", 3,OnFrame, VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CMFCEmbeddedTEDlg, "OnRButtonDown", 13,OnRButtonDown, VT_EMPTY, VTS_I4 VTS_I4 VTS_I4 VTS_PVARIANT)
END_DISPATCH_MAP() BEGIN_INTERFACE_MAP(CMFCEmbeddedTEDlg, CCmdTarget)
INTERFACE_PART(CMFCEmbeddedTEDlg, __uuidof(_ITerraExplorerEvents5), Dispatch)
END_INTERFACE_MAP()
// TODO: Add extra initialization here
m_dwCookie = 0;
// Create TerraExplorer COM object
HRESULT hr = m_spTE.CreateInstance(CLSID_TerraExplorer);
if (SUCCEEDED(hr))
{
// Register an event handler for TerraExplorer events
BOOL bAdvised = AfxConnectionAdvise(m_spTE,
__uuidof(_ITerraExplorerEvents5),
GetInterface(&IID_IUnknown),
TRUE, &m_dwCookie);
ASSERT(bAdvised);
}
// SAMPLE CODE: Add OnDestroy handler and disconnect m_TerraExplorerEvents from the TerraExplorer object
void CMFCEmbeddedTEDlg::OnDestroy()
{
// Must disconnect the event handler before the destruction of the dialog window and the TerraExplorer object.
if (m_dwCookie)
{
BOOL bUnadvised = AfxConnectionUnadvise(m_spTE, __uuidof(_ITerraExplorerEvents5),
GetInterface(&IID_IUnknown),
TRUE, m_dwCookie); TRACE("Unadvise for ITerraExplorerEvents5 %s\n", bUnadvised ? "succeeded" : "failed");
m_dwCookie = 0;
} m_spTE = NULL; CDialog::OnDestroy(); // TODO: Add your message handler code here
} void CMFCEmbeddedTEDlg::OnBnClickedLoadFly()
{
m_spTE->Load(_T("C:\\Users\\Administrator\\Desktop\\tempsh.FLY"));
}
SkylineGlobe MFC C++ 开发示例代码的更多相关文章
- IDEA插件(Android Studio插件)开发示例代码及bug解决
IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...
- SkylineDemoForWeb JavaScript二次开发示例代码
SkylineDemoForWeb JavaScript二次开发示例代码 http://files.cnblogs.com/files/yitianhe/SkylineDemoForWeb.zip
- SkylineGlobe Android 开发 面积计算示例代码
SkylineGlobe Android 开发 面积计算示例代码: 如果之前熟悉SkylineGlobe桌面端的二次开发,看这些代码应该不难理解. package com.skyline.terrae ...
- SkylineGlobe TerraExplorer Pro 7.0 Web 控件版 第一行示例代码
SkylineGlobe TerraExplorer Pro 7.0 是原生的64位应用程序,在Web端用插件方式开发的第一行示例代码如下: 常规代码,需要IE64位: <!DOCTYPE ht ...
- 微软官方的.net开发人员代码示例
微软官方的.net开发人员代码示例,需要的同学到这里下载: https://code.msdn.microsoft.com/
- 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
1.前言 学习ArcGIS Runtime SDK开发,其实最推荐的学习方式是直接看官方的教程.示例代码和帮助文档,因为官方的示例一般来说都是目前技术最新,也是最详尽的.对于ArcGIS Runtim ...
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...
- EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...
- 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50824912 相关地址介绍 : -- Universal I ...
随机推荐
- csharp: Use of Is and As operators in csharp
/// <summary> /// Geovin Du 20170622 /// </summary> /// <param name="sender" ...
- Chrome中无法断点调试的解决方案
chrome的调试功能实在是太强大了,相比之下ie的就是一垃圾. 最近在调试时出现一种情况,死活不能设置断点,也不能跟踪调试,这下抓狂了. JS也是非常简单的,也没有压缩.为什么就不能调试呢? 网上狂 ...
- Python从入门到精通
最近研究了一下Python,名不虚传,确实挺精彩. 学习一门新的语言,我认为从入门到精通的做法是:下SDK.装IDE.练教程.结合工作应用.不断踩坑进阶.梳理总结 1.下SDK(2.7.15) 下载地 ...
- Android Studio 点击两次返回键,退出APP
该功能的实现没有特别复杂,主要在onKeyDown()事件中实现,直接上代码,如下: //第一次点击事件发生的时间 private long mExitTime; /** * 点击两次返回退出app ...
- Android根据图片Uri获取图片path绝对路径的几种方法【转】
在Android 编程中经常会用到Uri转化为文件路径,如我们从相册选择图片上传至服务器,一般上传前需要对图片进行压缩,这时候就要用到图片的绝对路径. 下面对我开发中uri转path路径遇到的问题进行 ...
- 记录修改安卓5.0系统浏览器UI遇到的部分问题
碎碎念 今年七月份本科毕业后入职一家会议平板公司,经过一个一个多月的咸鱼培训轮岗生活,接手了几个小任务,本次记录一下其中一个任务:修改安卓5.0系统浏览器UI.刚接到任务的时候,本以为是很简单的一个任 ...
- char/varchar/nvarchar的区别
原文:https://blog.csdn.net/w516162189/article/details/78914035 我们在设计数据库的时候,需要根据需求场景选择合适的字段类型,对数据的执行效率有 ...
- VS 函数,方法上方 引用等显示
VS有一个这个功能贼好用,喜欢的可以打开看看哦,特别是团队开发,有惊喜哦!
- 转:SQL Server - 使用 Merge 语句实现表数据之间的对比同步
表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup ...
- 第七章 鼠标(CONNECT)
/* CONNECT.C -- Connect-the-Dots Mouse Demo Program (c) Charles Petzold,1998 */ #include <Windows ...