阅读:2151回复:4
图层"显示/隐藏"操作 的一个问题
近日在学习使用mapobjects做一些简单的二次开发,在进行到有关图层的显示/隐藏操作的代码时,遇到如下状况:<br>正场编译及运行;<br>能够顺利添加图层;<br>能够顺利删除图层;<br>能够顺利隐藏图层;<br>点击图层名前面的方框隐藏图层后(去掉钩子符号),再次点选图层名前面的方框,希望能够显示图层,结果出现"无法写只读特性"错误对话框<br><br><br>请问这是什么原因导致的,该如何处理?谢谢!!
|
|
1楼#
发布于:2007-05-06 18:43
<P>请教 图层显示隐藏的代码!!谢谢</P><img src="images/post/smile/dvbbs/em08.gif" />
|
|
2楼#
发布于:2007-05-11 18:49
<P>我作的用Legend,运行后把前面的勾去掉或者打上都没有反映!!!</P>
<P>这是怎么回事???</P> |
|
3楼#
发布于:2007-07-24 11:49
<P>我也是这样,不知道什么原因</P>
|
|
4楼#
发布于:2007-07-27 16:33
<P>写了一个例子供参考:(VC++)</P>
<P>1 首先将map和legend关联:</P> <P> LPDISPATCH pDisp = 0;<BR> LPUNKNOWN pUnknown = m_map.GetControlUnknown(); <BR> if (pUnknown) <BR> pUnknown->QueryInterface(IID_IDispatch, (void**);pDisp); <BR> m_legend.setMapSource(;pDisp); <BR> pDisp->Release(); </P> <P>2 增加图层后,装载图例,显示图例<BR> BOOL bl = TRUE;<BR> m_legend.LoadLegend(;bl);<BR> m_legend.ShowAllLegend();</P> <P>3 在响应图层显示隐藏操作时(OnAfterSetLayerVisibleLegend1),如下:</P> <P> CMoLayers lyrs = m_map.GetLayers();</P> <P> CMoMapLayer lyr = lyrs.Item(COleVariant(*Index));<BR> lyr.SetVisible(*isVisible);<BR> m_map.Refresh();<BR><BR>说明:此案例编译通过,无任何异常。</P> |
|