SkylineGlobe MFC C++ 开发示例代码
2016-02-17 09:45
393 查看
SkylineGlobe的SDK底层是跨平台的C++内核,面向不同平台封装原生的API,具有很高的执行效率,
下面是C++二次开发时的示例代码:
下面是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")); }
相关文章推荐
- C++纯虚函数
- C++异常
- C语言-09-文件操作
- C++ 公有继承,私有继承和保护继承
- C++ virtual 关键字总结
- C++ protected 访问控制
- c语言结构体用法
- C语言结构体内存对齐(计算结构体内存大小)
- c语言笔试题总结2
- 程序设计第三次作业---C++计算器雏形
- c++编译器何时会生成默认构造函数
- 折半查找法
- hdu 5470 Typewriter
- 冒泡、鸡尾酒、选择、插入、归并、快速排序的C++程序
- C语言深度解剖学习笔记
- C++纯虚函数与抽象类
- C++虚析构函数
- x265-1.8版本-encoder/weightPrediction.cpp注释
- c++对象内存布局模型
- C++语言之类class