爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: sysun

MapView最小化问题

[复制链接]

新浪微博达人勋

 楼主| 发表于 2015-10-27 20:13:31 | 显示全部楼层
本帖最后由 sysun 于 2015-10-27 20:18 编辑
MeteoInfo 发表于 2015-10-27 17:24
请仔细看软件的帮助文档。

王老师,可以了,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-28 11:30:51 | 显示全部楼层
MeteoInfo 发表于 2015-10-27 17:24
请仔细看软件的帮助文档。

王老师,还有一个问题:在用您的软件改变图例时,我试了两种方法,但结果不一样.
第一种,点击 气象数据 窗口中的 图例设置 按钮,设置新的图例范围,可以同时改变图例和图像.
第二种,双击图层管理中的图层,进入 图层属性 窗口,选 图例 页,这里和第一种相似,也可以设置图例范围,但只能使图例改变,图像不变.
我在软件二次开发中,用的是第二种方法,不知第一种应该怎样用.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-28 11:37:08 | 显示全部楼层
sysun 发表于 2015-10-28 11:30
王老师,还有一个问题:在用您的软件改变图例时,我试了两种方法,但结果不一样.
第一种,点击 气象数据 窗口 ...

看生成等值线图层的代码。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 09:33:25 | 显示全部楼层
我在王老师的软件改变图例时,试了两种方法,但结果不一样.
第一种,点击 气象数据----图例设置 按钮,设置新的图例范围,图像可以随着图例范围的改变而变化.得到了正确的结果.如下图数据范围是 -4到15,
21.PNG
这张图是系统进来默认的范围(-2到7)和图像.
22.PNG
这张图是修改范围(-2到10)和图像,图例范围变成<-2到>10,图像也在上图中>7的范围内画出了8,9,10的填充.这种结果是正确的.

第二种,双击图层管理中的图层,进入 图层属性 窗口,选 图例 页,这里和第一种相似,也可以设置图例范围,但只能使图例改变,图像不变.同样是第一种方法的数据,系统进来的默认的范围(-2到7)和图像和第一种一样
31.PNG 这是正确的.

当修改了图例范围(-2到10)后,图例变化正确,可图像>7的范围内没有增加8,9,10的填充,和上图一样,只是颜色发生了变化,这是不正确的.如下图
32.PNG

我在软件二次开发中,用的是第二种方法,通过双击图层,修改图例范围,但得不到正确的结果,我也看了代码,仍没有解决问题,再次请教.


这是数据文件. data.txt (5.74 KB, 下载次数: 0)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 09:44:30 | 显示全部楼层
两种方法打开的窗口也不一样.
第一种打开的窗口:
41.PNG

第二种打开的窗口:
42.PNG

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-30 10:41:19 | 显示全部楼层
本帖最后由 MeteoInfo 于 2015-10-30 10:43 编辑
sysun 发表于 2015-10-30 09:44
两种方法打开的窗口也不一样.
第一种打开的窗口:

供参考:

                    MapLayer mLayer = frmMain.CurrentWin.MapDocument.ActiveMapFrame.MapView.GetLayerFromHandle(_lastAddedLayerHandle);
                    frmLegendSet aFrmLS = new frmLegendSet(true, mLayer, frmMain.CurrentWin.MapDocument);
                    aFrmLS.SetFrmMeteoData(this);
                    aFrmLS.SetLegendScheme(_legendScheme);
                    string fieldName = CB_Variable.Text;
                    if (aFrmLS.ShowDialog() == DialogResult.OK)
                    {
                        frmMain.CurrentWin.MapDocument.ActiveMapFrame.RemoveLayerByHandle(_lastAddedLayerHandle);
                        this._legendScheme = aFrmLS.GetLegendScheme();
                        DrawMeteoMap(false, _legendScheme, fieldName);
                        frmMain.CurrentWin.MapDocument.ActiveMapFrame.MapView.PaintLayers();
                    }

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 11:37:16 | 显示全部楼层
王老师,我再试试.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-5 11:25:44 | 显示全部楼层
MeteoInfo 发表于 2015-10-30 10:41
供参考:

                    MapLayer mLayer = frmMain.CurrentWin.MapDocument.ActiveMapFrame.Ma ...

王老师,在您的指导下,前面提到的问题已得到解决,非常感谢.
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表