首页 VS2005快速开发

VS2005快速开发

举报
开通vip

VS2005快速开发第一步 创建一个新工程:Query 1创建一个工作目录C:\MyProject 2.启动 Visual Studio2005 3.在工作目录C:\MyProject 下创建一个新应用: Query 注:在SDK选择中,只有Pocket PC2003和Smartphone2003是安装VS2005时自带的,Mobile 5.0的SDK是需要另外安装的,也就是在工程新建之前就安装这个SDK,常用SDK在网上可以下载到。 ● 选择使用动态链接库 第二步 配置开发环境 二.1 设置头文件/库文件搜索路径 ● ...

VS2005快速开发
第一步 创建一个新工程:Query 1创建一个工作目录C:\MyProject 2.启动 Visual Studio2005 3.在工作目录C:\MyProject 下创建一个新应用: Query 注:在SDK选择中,只有Pocket PC2003和Smartphone2003是安装VS2005时自带的,Mobile 5.0的SDK是需要另外安装的,也就是在工程新建之前就安装这个SDK,常用SDK在网上可以下载到。 ● 选择使用动态链接库 第二步 配置开发环境 二.1 设置头文件/库文件搜索路径 ● 设置头文件搜索路径:Project ->Query Property Pages ->c/c++->General ->Additional Include Directories,如下图。 ● 在此路径下加上DOTNET2005:Project ->Query Property Pages ->c/c++->Preprocessor->Preprocessor Definitions,如下图。 ● 设置库文件搜索路径:Project ->Query Property Pages ->Linker->General ->Additional Library Directories,如下图。 二.2 在StdAfx.h中包含eSuperMap 5.3 类库头文件 第三步 添加工作空间、地图窗口实例 三.1 在“CQueryApp”中定义变量, 如下图: 三.2 在“CQueryView”中定义成员变量 ,如下图: 第四步 设置菜单项并生成消息响应函数 利用eSuperMap,可以很方便地进行地图的基本操作,如放大、缩小、漫游、全幅显示、地图刷新等等。下面以放大、缩小、漫游、全幅显示、地图刷新功能为例予以说明。 四.1 设置文件菜单    修改文件菜单组,在文件菜单组中保留三个菜单项,具体如下: ID Caption ID_FILE_OPEN 打开 ID_FILE_CLOSE 关闭 ID_APP_EXIT 退出 注:修改事件的ID时可以直接在右侧的Menu Editor IMenuEd工具中完成,如下图 四.2 地图操作菜单    添加地图菜单组,在地图菜单组中添加五个菜单项,具体如下: ID Caption ID_MAP_PAN 平移 ID_MAP_ZOOMIN 放大 ID_MAP_ZOOMOUT 缩小 ID_MAP_VIEWENTIRE 全幅显示 ID_MAP_REFRESH 刷新 四.3 生成菜单消息响应函数 1. 选中 CQueryView,点击类似闪电的按钮,可以在这里生成消息响应函数,如下图: ● 可以删除消息响应函数也可以进入编辑消息代码的界面,如下图 四.4 生成鼠标消息响应函数     选中CQueryView,点击如下图的按钮, 可以生成系统消息响应函数如OnLButtonDown、OnLButtonUp函数等,如下图: 第五步 实现消息映射函数 void CQueryView::OnDraw(CDC*pDC) {         CQueryDoc* pDoc = GetDocument();     ASSERT_VALID(pDoc);     CRect  rcClient;     GetClientRect( &rcClient );        //显示地图     m_MapWnd.OnDraw(pDC, rcClient,rcClient); } void CQueryView::OnFileOpen() {     //默认打开第一幅地图,否则新建Untitled地图,等待添加图层     CFileDialog dlgFile(true, _T("pmw|pmw|*.*"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("WorkSpace Files (*.pmw)|*.pmw") );     if( dlgFile.DoModal() == IDOK )     {         //如果已经打开工作空间文件,则关闭         if(theApp.m_WorkSpace.IsOpen())         {                    theApp.m_WorkSpace.Close();             m_MapWnd.Close();         }            //获得图形文件的完整路径及文件名         CString strFileName = dlgFile.GetPathName();         //打开工作空间         if(  theApp.m_WorkSpace.Open( strFileName ) )         {                    //与地图窗口关联             m_MapWnd.OnInitialUpdate( &theApp.m_WorkSpace, this );             CSeMaps *pMaps = theApp.m_WorkSpace.GetMaps();             if( pMaps )             {                        CSeMapDef MapDef;                 //有地图,则打开第一幅                 if ( pMaps->GetMapCount() != 0 )                 {                     CDlgSelect dlg;                     dlg.m_bMap = true;                     if ( dlg.DoModal() == IDOK )                     {                         if( pMaps->GetMap( dlg.m_strMapName, MapDef ) )                         {                             if(m_MapWnd.OpenMap(MapDef))                             {                                 m_MapWnd.Refresh();                             }                         }                     }                 }             }         }     } } void CQueryView::OnFileClose() {         m_MapWnd.Close();     theApp.m_WorkSpace.Close();     m_MapWnd.Refresh();     m_bFileOpened = false;    } void CQueryView::OnMapZoomin() {     //放大     m_MapWnd.SetAction(CSeDrawParameters::uaZoomIn); } void CQueryView::OnMapZoomout() {//缩小     m_MapWnd.SetAction(CSeDrawParameters::uaZoomOut); } void CQueryView::OnMapZoomfree() {     //自由缩放     m_MapWnd.SetAction(CSeDrawParameters::uaZoomFree); } void CQueryView::OnMapPan() {     //平移     m_MapWnd.SetAction(CSeDrawParameters::uaPan);    } void CQueryView::OnMapViewEntire() { //整幅显示地图     m_MapWnd.SetAction(CSeDrawParameters::uaNull);        m_MapWnd.ViewEntire();    } void CQueryView::OnMapRefresh() {//刷新     m_MapWnd.SetAction(CSeDrawParameters::uaNull);        m_MapWnd.Refresh(); } void CQueryView::OnMapPointSelect() {     //点选     m_MapWnd.SetAction(CSeDrawParameters::uaPointModeSelect); } void CQueryView::OnMapRectSelect() {     //框选     m_MapWnd.SetAction(CSeDrawParameters::uaRectModeSelect); } void CQueryView::OnLButtonDown(UINT nFlags, CPoint point) {     m_MapWnd.OnLButtonDown(nFlags,point);//重载     CView::OnLButtonDown(nFlags, point); } void CQueryView::OnLButtonUp(UINT nFlags, CPoint point) {     m_MapWnd.OnLButtonUp(nFlags,point);//重载     CView::OnLButtonUp(nFlags, point); } void CQueryView::OnMouseMove(UINT nFlags, CPoint point) {     m_MapWnd.OnMouseMove(nFlags,point);//重载     CView::OnMouseMove(nFlags, point); } 第六步 下载程序所依赖的库和数据到模拟器中 1.Tools -> Remote File Viewer , 选择 Pocket PC 2003 Emulation 2. 点击Program Filees 目录,准备往 Pocket PC 2003 Emulation\Program Filees\目录 导入执行程序所依赖的库(RSFC\Bin\VC8\PocketPC2003\Emulator动态库 ),如下图: 3. 往 Pocket PC 2003 Emulation\Program Filees\ 目录逐个导入执行程序所依赖的库( emulator 动态库 ), 如下图: 4. 往 Pocket PC 2003 Emulation\My Documents\ 目录逐个导入所使用的数据, 如下图: ● 如下图,将该路径下四个选中的VS 2005库文件导入到模拟器中 ● 导入eSuperMap的lic文件 第七步:编译、运行程序 ● 部署成功 ● 打开北京市地图 至此,eSuperMap开发的简单的范例工程就已经做好,这里只是做了一个简单的介绍,抛砖引玉,希望大家在此基础上利用eSuperMap开发出更加实用优秀的工程。 文档已经阅读完毕,请返回上一页!
本文档为【VS2005快速开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:657KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-19
浏览量:14