public static void SetBallons(GSOBalloon featureTooltip, GSOBalloonEx balloonEx) { featureTooltip.CacheFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "/GeoScene/Globe/Temp"; featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0); featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1); featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT); featureTooltip.EscapeSequencesEnabled = true; featureTooltip.HyperlinkEnabled = true; featureTooltip.Opaque = 30; featureTooltip.MaxWidth = 300; featureTooltip.SetShadow(0, 0, 50, true, 0, 0); balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500); balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300); balloonEx.Opaque = 5; balloonEx.SetBorder(Color.White, 1, 1); balloonEx.SetColorBkType(EnumBkColorTypeEx.SKY); }
/// <summary> /// 气泡的参数设置 /// </summary> /// <param name="featureTooltip"></param> /// <param name="infoBalloon"></param> /// <param name="balloonEx"></param> public static void SetBallons(GSOBalloon featureTooltip, GSOBalloon infoBalloon, GSOBalloonEx balloonEx) { if (featureTooltip != null) { featureTooltip.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp"; featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0); featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1); featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT); featureTooltip.EscapeSequencesEnabled = true; featureTooltip.HyperlinkEnabled = true; featureTooltip.Opaque = 30; featureTooltip.MaxWidth = 300; featureTooltip.SetShadow(0, 0, 50, true, 0, 0); } if (infoBalloon != null) { infoBalloon.SetColorBkType(EnumBkColorType.SILVER); infoBalloon.SetEffectBk(EnumBkEffect.HBUMP, 0); infoBalloon.SetBorder(Color.FromArgb(255, 171, 171, 171), 1, 1); infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CX, 5); infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CY, 5); infoBalloon.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 10); infoBalloon.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 10); infoBalloon.SetShadow(3, 3, 50, true, 0, 0); infoBalloon.MaxWidth = 300; infoBalloon.CloseButtonVisible = true; } if (balloonEx != null) { balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500); balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300); balloonEx.SetSize(EnumSizeIndexEx.ANCHOR_WIDTH, 10); balloonEx.Opaque = 5; balloonEx.SetBorder(Color.White, 1, 1); balloonEx.SetColorBkType(EnumBkColorTypeEx.SILVER); balloonEx.SetEffectBk(EnumBkEffectEx.OUTRANGE, 10); balloonEx.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp"; } }
public static void SetBallons(GSOBalloon featureTooltip,GSOBalloonEx balloonEx) { featureTooltip.CacheFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "/GeoScene/Globe/Temp"; featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0); featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1); featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT); featureTooltip.EscapeSequencesEnabled = true; featureTooltip.HyperlinkEnabled = true; featureTooltip.Opaque = 30; featureTooltip.MaxWidth = 300; featureTooltip.SetShadow(0, 0, 50, true, 0, 0); balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500); balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300); balloonEx.Opaque = 5; balloonEx.SetBorder(Color.White, 1, 1); balloonEx.SetColorBkType(EnumBkColorTypeEx.SKY); }
public Form1() { InitializeComponent(); globeControl1 = new GSOGlobeControl(); panel1.Controls.Add(globeControl1); globeControl1.Dock = DockStyle.Fill; //点击节点飞行到要素全貌 treeView1.NodeMouseDoubleClick += (sender, e) => { if (e.Node.Tag.GetType() == typeof(GSOFeature)) { GSOFeature feature = e.Node.Tag as GSOFeature; if (feature.Geometry.CameraState == null) { GSORect2d latLonBounds = feature.Geometry.Bounds; if ((latLonBounds.Left.Equals(0.0) == false) && (latLonBounds.Bottom.Equals(0.0) == false) && (latLonBounds.Top.Equals(0.0) == false) && (latLonBounds.Right.Equals(0.0) == false)) { Utility.flyToLayerOrTerrain(globeControl1, latLonBounds); } } } }; #region Balloon初始化 featureTooltip = new GSOBalloon(globeControl1.Handle); //实例化GSOBalloon对象 featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 5); // 设置边角的圆润度 featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 5); // 设置边角的圆润度 featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3); // 设置空白边缘宽度 featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3); // 设置空白边缘宽度 featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 30); // 设置GSOBalloon 锚的高度 featureTooltip.EscapeSequencesEnabled = true; featureTooltip.HyperlinkEnabled = true; // 设置是否可以点击GSOBalloon里面的超链接 featureTooltip.Opaque = 0; // 透明度,取值范围是0~100,0为不透明,100为全透明 featureTooltip.MaxWidth = 300; // 最大宽度 featureTooltip.SetBorder(Color.FromArgb(255, 255, 128, 64), 1, 1); // 边框 featureTooltip.SetColorBkType(EnumBkColorType.SILVER); //填充颜色 // 也可以下面方法设置 //featureTooltip.SetColorBk(Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255,240, 247, 250), Color.FromArgb(255,192, 192, 200)); featureTooltip.SetEffectBk(EnumBkEffect.VBUMP, 10); //渐变效果 featureTooltip.SetShadow(0, 0, 50, true, 0, 0); // 阴影 //featureTooltip.CloseButtonVisible = true; //显示关闭按钮 //鼠标进入显示气泡 globeControl1.FeatureMouseIntoEvent += (sender, e) => { if (!featureTooltip.IsVisible()) { String str1 = "<table><tr><td valign=vcenter><center><h2> " + e.Feature.Name + "</h2><br><hr color=blue></center></td></tr></table>"; String str2 = e.Feature.Description; // 显示GSOBalloon featureTooltip.ShowBalloon((int)e.MousePos.X, (int)e.MousePos.Y, str1 + str2); } }; //鼠标移出时隐藏气泡 globeControl1.FeatureMouseOutEvent += (sender, e) => { if (featureTooltip.IsVisible()) { globeControl1.SwapBuffer(); //为了避免闪屏 featureTooltip.HideBalloon(); } }; #endregion #region BalloonEx初始化 balloonEx = new GSOBalloonEx(globeControl1.Handle); //点击要素显示 globeControl1.FeatureMouseClickEvent += (sender, e) => { GSOBalloonParam balloonParam = balloonEx.ParseParam(e.Feature.Description); balloonEx.ShowBalloonEx((int)e.MousePos.X, (int)e.MousePos.Y, balloonParam); }; #endregion //移动视角时,隐藏气泡 globeControl1.CameraBeginMoveEvent += (sender, args) => { balloonEx.HideBalloon(); }; }
public MainFrm() { InitializeComponent(); globeControl1 = new GeoScene.Globe.GSOGlobeControl(); dataMananger1 = new GeoScene.Engine.GSODataManager(); panelGlobeControl.Controls.Add(globeControl1); globeControl1.Dock = DockStyle.Fill; layerTree.ImageList = treeImageList; layerTree.Dock = DockStyle.Fill; controlContainerItem2.Control = panelFind; panelFind.Dock = DockStyle.Fill; treeFind.ImageList = treeImageList; featureTooltip = new GSOBalloon(globeControl1.Handle); featureTooltip.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp"; featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0); featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3); featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1); featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1); featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT); featureTooltip.EscapeSequencesEnabled = true; featureTooltip.HyperlinkEnabled = true; featureTooltip.Opaque = 30; //30; featureTooltip.MaxWidth = 300; featureTooltip.SetShadow(0, 0, 50, true, 0, 0); infoBalloon = new GSOBalloon(globeControl1.Handle); infoBalloon.SetColorBkType(EnumBkColorType.SILVER); infoBalloon.SetEffectBk(EnumBkEffect.HBUMP, 0); infoBalloon.SetBorder(Color.FromArgb(255, 171, 171, 171), 1, 1); infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CX, 5); infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CY, 5); infoBalloon.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 20); infoBalloon.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 12); infoBalloon.SetShadow(3, 3, 50, true, 0, 0); infoBalloon.MaxWidth = 300; infoBalloon.CloseButtonVisible = true; balloonEx = new GSOBalloonEx(globeControl1.Handle); balloonEx.SetSize(EnumSizeIndexEx.ANCHOR_WIDTH, 30); balloonEx.SetColorBkType(EnumBkColorTypeEx.SILVER); balloonEx.SetEffectBk(EnumBkEffectEx.OUTRANGE, 10); balloonEx.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp"; }