lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3077回复: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
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
gsl1982
路人甲
路人甲
  • 注册日期2004-05-08
  • 发帖数135
  • QQ
  • 铜币543枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-05-09 16:50
哎,又是VB的!!
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-05-09 17:02
不是,VB.net的,语法都不一样吗!
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
3楼#
发布于: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)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于: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个
5楼#
发布于: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个
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)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
7楼#
发布于:2004-06-16 23:11
关联(relate)外部表的字段来label,如何写<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-06-17 10:56
<P>可能不能用Relate的纯属性表的字段吧,反正在ArcMap里不行!</P>
<P>可以用Relate的FeatureClass的字段,只需要在字段名字前加上relate的表的名字!我只是在ArcMap里设了,反正可以,没有编代码,呵呵!</P>
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
9楼#
发布于:2004-06-18 22:47
<P>也就是在geodatabase里建立featureclass,导入纯属性表,然后关联,就可以,yeah?在mapcontrol中应该一样吧</P>
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部