Something recorded~~

ArcGIS Engine VC++中 IActiveView刷新方式

这是小时候博客里的迁移,可以不看~~ IActiveView接口定义了Map对象的数据显示功能。使用该接口可以改变视图的范围,刷新视图 IActiveView的PartialRefresh(esriViewGeography, pLayer, null)用于刷新指定图层 IActiveView的PartialRefresh(esriViewGeography, null, null) 用于刷新刷新所有图层 IActiveView的PartialRefresh(esriViewGeoSelection, null, null) 用于刷新所选择的对象 IActiveView的PartialRefresh(esriViewGraphics, null, null) 用于刷新所有图形元素 IActiveView的PartialRefresh(esriViewGraphics, pElement, null) 用于刷新指定图形元素 IActiveView的PartialRefresh(esriViewGraphicSelection, null, null)用于刷新所选择的图元 Read more »

ArcGIS Engine VC++中几种接口的通用性

这是小时候博客里的迁移,可以不看~~ ArcGIS Engine VC++中,几种接口的通用性,都可以得到想得到的对象,前提是一个地图中只有一个map对象时,并且只有一个GraphicsLayer图形图层: IActiveViewPtr pActiveV = m_MapCtrl.get_ActiveView(); IMapPtr pMap = pActiveV->GetFocusMap(); IMapPtr pMapM = m_MapCtrl.get_Map(); pMap与 pMapM是指向同一对象的指针 ICompositeGraphicsLayerPtr pGraLayer = pMap->GetBasicGraphicsLayer(); ILayerPtr pLayer = pMap->GetActiveGraphicsLayer(); ICompositeGraphicsLayerPtr pGraLayer1 = pLayer;... Read more »

MFC 几个问题

VS2008与MFC开发时遇到的几个问题总结: 1、Input **.lib时出现 error cannot open fle 'e\my.obj"时如果这时你的lib文件添加没有错误,最主要的问题就是你的lib文件所在的文件路径中有空格,将空格去掉错误解决。 2、菜单栏中 View-->Toolbars and Docking Windows下显示和隐藏工具栏和浮动窗口的选项是一个,这是一个控件,它的实现代码中好像没有体现,所以没有把显示中的Toolbars去掉。 但是再加入一个显示隐藏的菜单时用的EnablePaneMenu函数: EnablePaneMenu(TRUE, ID_VIEW_MONITOR, strMonToolBarName, ID_VIEW_TOOLBAR); 其中ID_VIEW_MONITOR表示点击菜单时响应的菜单ID,响应函数消息映射表如下,strMonToolBarName表示所加菜单的显示名称,ID_VIEW_TOOLBAR是此的名称。 ON_COMMAND(ID_VIEW_MONITOR,&CMainFrame::OnViewMonitorBar) ON_UPDATE_COMMAND_UI(ID_VIEW_MONITOR,&CMainFrame::OnUpdateMonitorBar) 显示和隐藏是在MainFrame下使用ShowControlBar,代码如下: void CMainFrame::OnViewMonitorBar() { ShowControlBar((CControlBar*)&m_wndMonitorBar,!m_bShowMonitor,FALSE); m_bShowMonitor = !m_bShowMonitor; }... Read more »

C++中Format函数的用法总结

有时候会忘记,还是记上来吧~~ 函数声明 function Format(const Format: string; const Args: array of const): string; overload; 函数功能 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍。Format参数是一个格式字符串,用于格式化Args里面的值的,Args是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。 例如: Format("my name is %6s","wind"); 返回的是:my name is wind 函数参数 Format里面可以写普通的字符串,比如"my name is" ,但有些格式指令字符具有特殊意义,比如"%6s" 格式指令具有以下的形式:... Read more »