lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3331回复:11

关于添加图层label的问题!

楼主#
更多 发布于:2004-05-09 16:01
<P>我写了一下代码可以实现某图层的label为该图层的Code字段的内容:</P>
<P>Dim pAnnProCol As IAnnotateLayerPropertiesCollection
Dim pLabelEngin As ILabelEngineLayerProperties
pAnnProCol = pGFeatureLayer.AnnotationProperties</P>
<P>Dim pBasicOverposterLayerProps As IBasicOverposterLayerProperties
pBasicOverposterLayerProps = New BasicOverposterLayerProperties()
pBasicOverposterLayerProps.NumLabelsOption = esriBasicNumLabelsOption.esriOneLabelPerShape</P>
<P>For i = 0 To pAnnProCol.Count - 1
    pAnnProCol.QueryItem(i, pLabelEngin)
    pLabelEngin.Expression = "[Code]" </P>
<P>    pLabelEngin.Symbol = pTextSymbol
    pLabelEngin.BasicOverposterLayerProperties = pBasicOverposterLayerProps
Next i</P>
<P>Dim pCon As ITrackCancel
pCon = New CancelTracker()
pCon.Continue()
pGFeatureLayer.Draw(esriDrawPhase.esriDPAnnotation, pMapControl.ActiveView.ScreenDisplay, pCon)</P>
<P>可是我想用该图层的Name和Code字段的内容一起做label,于是我用下面的代码:</P>
<P>pLabelEngin.Expression = "[Name]" ; "[Code]"就不行!我用以下的代码也都不行,做过的指条路吧!</P>
<P>pLabelEngin.Expression = "代码是:" ; "[Code]"</P>
<P> <img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em11.gif" /></P>
喜欢0 评分0
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
pearlstar
路人甲
路人甲
  • 注册日期2004-07-11
  • 发帖数92
  • QQ
  • 铜币160枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-07-17 20:19
关注
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-06-21 08:56
<P>嗯,在ArcMap里是用你说的方法,mapcontrol里应该也可以,呵呵!</P><P>我每次要实现功能就先去ArcMap中试试,可以的话MapControl里肯定可以实现只要你想办法,呵呵!</P><img src="images/post/smile/dvbbs/em01.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2004-06-18 22:47
<P>也就是在geodatabase里建立featureclass,导入纯属性表,然后关联,就可以,yeah?在mapcontrol中应该一样吧</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-06-17 10:56
<P>可能不能用Relate的纯属性表的字段吧,反正在ArcMap里不行!</P>
<P>可以用Relate的FeatureClass的字段,只需要在字段名字前加上relate的表的名字!我只是在ArcMap里设了,反正可以,没有编代码,呵呵!</P>
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
5楼#
发布于:2004-06-16 23:11
关联(relate)外部表的字段来label,如何写<img src="images/post/smile/dvbbs/em02.gif" />
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-05-10 13:52
<P>我想得到的字符串是“[NAME] ; "(" ; [CODE] ; "'"”</P><P>可以用这个实现:pLabelEngin.Expression ="[HD_Name] ; " ; """(""" ; " ; [Code] ; " ; """)"""</P><P>真是麻烦呢!</P><img src="images/post/smile/dvbbs/em08.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-05-10 11:16
<P>Thanks!</P><P>希望有机会多交流!</P><P>还有要注意的是:</P><P>pLabelEngin.Expression = "代码是:" ; "[Code]"</P><P>change t</P><P>pLabelEngin.Expression = <FONT color=#f73809>"""代码是:""" ; "[Code]"</FONT></P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-05-10 08:26
哎呀,行家一出手就知道有没有,对了,多谢kisssy版主,多谢多谢!(鞠躬!)<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-05-09 20:31
<P>To lilysunny:</P><P>Try this one:</P><P>pLabelEngin.Expression = "[Name]<FONT color=#f70909>;</FONT>" ; "[Code]"</P><P>It will run correctly! </P><P>Cause you should write the Expression correctly!</P><P>Goodluck!</P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部