VC中mapx图元颜色的改变
来源:互联网 发布:spark 用户画像算法 编辑:程序博客网 时间:2024/04/30 14:23
我在VC中嵌入了mapx控件,基本功能已经实现,现在想做到:当鼠标点击(单、双都可)某个图元(如矩形)时,该图元颜色改变;鼠标移动到另外某个图元并进行鼠标点击时,上一个颜色改变效果撤消,新图元变色效果出现!!!
万分感谢!!!!!!!!!!!!!!!
大家帮帮忙啊!!
大家帮帮忙啊!!怎么高手都眼睁睁的看着不说话啊??55555
我自己又写了段代码,想实现如下功能:
鼠标点击某个图元时,颜色改变。有1、2两个图层,1中主要是区域,2中主要是线。我自己感觉这段代码应该没有什么问题,可是点击后没有什么改变。
请高手帮忙!!!
void CMy001View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMapXLayers layers;
CMapXFeature mapxFeature1,mapxFeature2;
CMapXStyle mapxStyle;
CMapXLayer layer;
CMapXFeatures ftrs1,ftrs2;
CMapXPoint pnt;
layers = m_ctrlMapX.GetLayers();
ftrs1=layers.Item(1).SearchAtPoint(LPDISPATCH(pnt));
ftrs2=layers.Item(2).SearchAtPoint(LPDISPATCH(pnt));
mapxFeature1=ftrs1.Item(1);
mapxFeature2=ftrs2.Item(1);
if (mapxFeature1.GetType()==miFeatureTypeRegion)
{
pnt.CreateDispatch(pnt.GetClsid());
layer.SetOverrideStyle(true);
mapxStyle=mapxFeature1.GetStyle();
mapxStyle.SetRegionBackColor(miColorLimeGreen);
mapxFeature1.SetStyle(mapxStyle);
mapxFeature1.Update();
}
else if (mapxFeature2.GetType()==miFeatureTypeLine)
{
pnt.CreateDispatch(pnt.GetClsid());
layer.SetOverrideStyle(true);
mapxStyle=mapxFeature2.GetStyle();
mapxStyle.SetLineColor(miColorLimeGreen);
mapxFeature2.SetStyle(mapxStyle);
mapxFeature2.Update();
}
CFormView::OnLButtonDown(nFlags, point);
}
没有用vc做过,不过看你的代码中有layer.SetOverrideStyle(true); 这句让图层的样式替换为真,这是对整个图层里的所有图元进行同类型的样式改变,那么你对被选择图元所作的颜色改变都会看不出来的。
而且也看不出来当被选择图元在被取消选择后的恢复原色的代码啊。
谢谢楼上的,请详细指导下!!
前面的代码只要把layer.SetOverrideStyle(true); 这句不要应该可以看到改变的颜色吧。
还有设置区域颜色好像是用Style.RegionColor 属性吧
还有应该要用自定义工具或者箭头工具,如果用选择工具,它有自己的被选中后的样式,那样子不知道颜色会不会有冲突呢。
非常感谢,马上去试!!
感觉已经和正确的方法接近了,可是尝试了还是不行啊,感谢大家,继续求助!!
如果在选择之后变色的话,可以考虑对selection集合的样式做设置
恩,帮顶一下
恩,我也想知道
我对一个线图元是这样做的
pTempFeature.GetStyle().SetLineColor(32767);
pTempFeature.Update();
颜色就变了,其他的是不是也差不多阿?
- VC中mapx图元颜色的改变
- VC中MapX的开发
- VC中MapX的开发
- 查找图元方法中遇见的MapX的Bug
- MAPX中修改图元的属性值
- VC中改变对话框的边框颜色
- VC环境中MapX一次删除图层所有图元
- VC环境中MapX一次删除图层所有图元
- Mapx中画线的代码(VC++)
- mapx 显示新建图元的属性
- VB + MapX 查找最近的图元
- VC中如何改变对框中控件的颜色
- 在VC中 改变List列表中一行的颜色
- VC中如何改变对话框中控件的颜色
- VC中如何改变对框中控件的颜色
- VC中如何改变对框中控件的颜色
- vc中改变对话框以及视类窗口的颜色
- VC中改变窗体及控件的颜色
- CSS参考
- java中静态代码块的用法 static用法详解
- 在中国mapinfo电子地图中添加投影教程
- mysql存储过程详解
- GPS软件应用 用VC开发Mapinfo程序
- VC中mapx图元颜色的改变
- 【Mac使用基础】如何在mac上搭建MAMP,Macport 使用注意点,Macport报错
- 24/7/2012 ICPC培训 第九天
- :构建支持AJAX的JSF组件(一)
- hdu 1373
- javax.faces.context Class PartialResponseWriter
- 2717Catch That Cow
- 黑马程序员-------C#中网络套接字的简单用法
- hdu1026 Ignatius and the Princess I