CMapXFeature ft//创建图元对象
ft.CreateDispatch( ft.GetClsid( ) )
ft.Attach( m_ctrlMapX.GetDispatch( FALSE ) )//以上两句牵扯到组件知识,大概就是新建一个mapx对象就需要这样注册下
ft.SetType( miFeatureTypeLine )//图元样子,这里是线形的
ft.GetStyle( ).SetLineColor( 0xFF0000 )//颜色
ft.GetStyle( ).SetLineStyle( 1 )//线的形状
ft.GetStyle( ).SetLineWidth( 1 )//线宽
ft.GetParts( ).Add( pts )//既然是线性,需要至少两点来确定画线位置,这里的pts是CMapXPoints对象,在前面的程序里已经定义好了
看了你的代码,c#不是很懂,但是注意到像你设置了feature的style,但是style是要加到feature上的。vc里面会这样写
feature.SetStyle(style.m_lpDispatch)看看C#中feature对象的SetStyle方法
dim p as pointdim f as feature
f=mapx.layers.item(x).addfeature(p)
没有vb环境,大概就是这样,其实这样的问题你不用来提问,直接百度一下,大把的现成代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)