2.7.4 网页气泡弹窗


网页气泡弹窗

网页气泡弹窗是指在场景上弹出网页页面进行展示的功能。支持静态弹窗和动态弹窗两种弹窗功能。

网页气泡弹窗形成的子页面与主场景可以实现交互功能。两者之间的交互实现方式如下:

1.子窗口与主场景交互。 子窗口可以调用 window.external.PushData() 方法向主场景发送消息,该方法的参数为字符串类型。主场景接收到消息之后,会通过回调将消息发送回来。

2.主场景与子窗口交互。 前端应用程序在创建弹窗之后,可以调用对象的更新操作将参数传递给子窗口。更新时,需要设置FunctionNameFunctionParam 参数发送消息。

下图是网页弹窗效果:

  

1.动态弹窗

动态弹窗是指弹窗的窗口会跟随场景移动。动态弹窗会生成一个指示箭头,该箭头会一直指向场景中某个坐标位置;当场景拖动时,该位置会跟随场景移动,动态弹窗也会跟随移动。

动态弹窗是通过更新机制实现的,可以在场景内创建多个动态弹窗窗口。

参数说明

动态弹窗可配置的参数如下表所示:

配置项 配置说明 值类型 备注
Longitude 经度坐标 double 目标位置的经度坐标
Latitude 纬度坐标 double 目标位置的纬度坐标
PosHeight 高程坐标 double 目标位置的高程坐标
ShowDistance 最大显示高度 double 气泡在高度方向与相机位置最远可见距离。默认:0.0
Width 窗口宽度 double 气泡窗口的宽度。默认:0.0
Height 窗口高度 double 气泡窗口的高度。默认:0.0
Radial 圆角直径 double 气泡窗口四个角的圆角直径。默认:0.0
ArrowSize 箭头大小 double 指示目标位置的三角箭头大小。默认:0.0
IsShow 是否可见 bool 窗口是否可见。默认true
IsOverShow 超出是否可见 bool 当目标超出屏幕范围是否显示,默认显示
BKColor 箭头背景颜色 R,G,B,A 颜色取值范围在0-255.0之间,如 "255,0,0,255"
MoveDelay 更新帧率 int 气泡窗口位置的更新帧率。默认:1, 代表每帧都更新
Url 页面访问路径 string 窗口子页面访问路径。可以是本地绝对路径,也可以是网络路径
CloseButtonUrl 关闭图片路径 string 关闭按钮图片路径,必须是本地绝对路径
CloseButtonState 是否显示关闭按钮 bool true显示,false不显示。默认不显示
CloseBtnPosX 关闭按钮x坐标 double 关闭按钮位于子窗口x方向坐标。默认:0.0
CloseBtnPosY 关闭按钮y坐标 double 关闭按钮位于子窗口y方向坐标。默认:0.0
CloseBtnPosW 关闭按钮宽度 double 关闭按钮的宽度。默认:0.0
CloseBtnPosH 关闭按钮高度 double 关闭按钮的高度。默认:0.0
FunctionName 交互函数名 string 主窗口调用子窗口函数名称
FunctionParam 交互参数 string 主窗口调用子窗口函数时传递的参数

代码调用示例

Javascript调用

//tool回调实现函数
function callBackFunTools(toolsID, notifyType) {
    //动态弹窗1
    if (multiDynamicPop1 && toolsID == multiDynamicPop1.GetToolsID()) {
        var param = multiDynamicPop1.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123") {
            alert("动态弹窗动态框:123");
        }
        if (param == "456") {
            alert("关闭弹窗:456");
            removeMultiDynamicPop(1);
        }
        if (param == "Close") {
            alert("准备关闭窗口");
            removeMultiDynamicPop(1);
        }
    }
    //动态弹窗2
    if (multiDynamicPop2 && toolsID == multiDynamicPop2.GetToolsID()) {
        var param = multiDynamicPop2.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123") {
            alert("动态弹窗动态框1:123");
        }
        if (param == "456") {
            alert("动态弹窗动态框1:456");
        }
        if (param == "Close") {
            alert("准备关闭窗口");
            removeMultiDynamicPop(2);
        }
    }
}
var tools = obj.GetIToolsCOMPtr();//使用对象前,务必初始化
var operaEvent = addEvent(obj, "FireOnToolsNotify", callBackFunTools);//添加回调
var multiDynamicPop1 = null;
var multiDynamicPop2 = null;
var gPrjIndexPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";
var dataPath = gPrjImagesFolderPath + "/close.bmp";//关闭按钮图片路径
//创建动态弹窗
function createMultiDynamicPop() {
    if (multiDynamicPop1 == null) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("Longitude", "120.219458309298");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption.AddConfig("Latitude", "30.211521625606");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption.AddConfig("PosHeight", "90.451804557815");//指向经纬度坐标高度
        pOption.AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption.AddConfig("Width", "300");//窗口宽度
        pOption.AddConfig("Height", "280");//窗口高度
        pOption.AddConfig("ArrowSize", "3");//箭头大小
        pOption.AddConfig("Radial", "2");//圆角直径
        pOption.AddConfig("Url", gPrjIndexPath + "/pages/pop.htm");//指向网页url
        pOption.AddConfig("MoveDelay", "10");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption.AddConfig("IsShow", "true");//是否可见,默认可见
        pOption.AddConfig("CloseButtonState", "true");//是否显示关闭按钮
        pOption.AddConfig("CloseButtonUrl", dataPath);//关闭按钮图片路径
        pOption.AddConfig("CloseBtnPosX", "180"); //关闭按钮所在窗口x位置
        pOption.AddConfig("CloseBtnPosY", "10"); //关闭按钮所在窗口y位置
        pOption.AddConfig("CloseBtnPosW", "20"); //关闭按钮宽度
        pOption.AddConfig("CloseBtnPosH", "20"); //关闭按钮高度
        pOption.AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption.AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop1 = tools.CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop1.Active();//激活工具类
        multiDynamicPop1.AddObserver();
    }
    if (multiDynamicPop2 == null) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("OptionsTypeName", "DynamicPopWindowOptions");
        pOption.AddConfig("Longitude", "120.218832919919");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption.AddConfig("Latitude", "30.210110643972");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption.AddConfig("PosHeight", "25.849885681644");//指向经纬度坐标高度
        pOption.AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption.AddConfig("Width", "80");//窗口宽度
        pOption.AddConfig("Height", "80");//窗口高度
        pOption.AddConfig("ArrowSize", "3");//箭头大小
        pOption.AddConfig("Radial", "0");//圆角直径
        pOption.AddConfig("Url", gPrjIndexPath + "/pages/pop1.htm");//指向网页url
        pOption.AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption.AddConfig("IsShow", "true");//是否可见,默认可见
        pOption.AddConfig("CloseButtonState", "false");//是否显示关闭按钮
        pOption.AddConfig("CloseButtonUrl", dataPath);//关闭按钮图片路径
        pOption.AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption.AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop2 = tools.CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop2.Active();//激活工具类
        multiDynamicPop2.AddObserver();
    }
}
//更新动态弹窗
function updateMultiDynamicPop() {
    if (multiDynamicPop1) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("Width", "100");//窗口宽度
        pOption.AddConfig("Height", "80");//窗口高度
        pOption.AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        multiDynamicPop1.UpdateToolsOptions(pOption);//更新接口
    }
    if (multiDynamicPop2) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("Width", "80");//窗口宽度
        pOption.AddConfig("Height", "100");//窗口高度
        pOption.AddConfig("FunctionName", "Test");//交互函数
        pOption.AddConfig("FunctionParam", "320");//交互参数    
        multiDynamicPop2.UpdateToolsOptions(pOption);//更新接口
    }
}
var bShow = true;
//显隐动态弹窗
function visibleMultiDynamicPop() {
    bShow = !bShow;
    var bShowStr = "";
    if (bShow) {
        bShowStr = "true";
    } else {
        bShowStr = "false";
    }
    if (multiDynamicPop1) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("IsShow", bShowStr);
        multiDynamicPop1.UpdateToolsOptions(pOption);//更新接口
    }
    if (multiDynamicPop2) {
        var pOption = tools.CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption.AddConfig("IsShow", bShowStr);
        multiDynamicPop2.UpdateToolsOptions(pOption);//更新接口
    }
}
//移除动态弹窗
function removeMultiDynamicPop(type) {
    if (multiDynamicPop1 && (type == 1 || type == 0)) {
        tools.DestoryTools(multiDynamicPop1);//移除工具对象
        multiDynamicPop1 = null;
    }
    if (multiDynamicPop2 && (type == 2 || type == 0)) {
        tools.DestoryTools(multiDynamicPop2);//移除工具对象
        multiDynamicPop2 = null;
    }
}

C++调用

ToolsCOMLib::IToolsManagerPtr tools;//工具类对象
BaseObjectCOMLib::IToolsObjectPtr multiDynamicPop1;//动态弹窗对象1
BaseObjectCOMLib::IToolsObjectPtr multiDynamicPop2;//动态弹窗对象2
CString strPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";
std::string IconFolderPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";
bool state;//显隐控制开关
//创建网页动态气泡
void Cf6c3TipsDialogDlg::OnBnClickedcreatedynamicpop()
{
    if (multiDynamicPop1 == NULL) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("Longitude", "120.219458309298");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption->AddConfig("Latitude", "30.211521625606");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption->AddConfig("PosHeight", "90.451804557815");//指向经纬度坐标高度
        pOption->AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption->AddConfig("Width", "300");//窗口宽度
        pOption->AddConfig("Height", "280");//窗口高度
        pOption->AddConfig("ArrowSize", "3");//箭头大小
        pOption->AddConfig("Radial", "2");//圆角直径
        pOption->AddConfig("Url", strPath + "pop.htm");//指向网页url
        pOption->AddConfig("MoveDelay", "10");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption->AddConfig("IsShow", "true");//是否可见,默认可见
        pOption->AddConfig("CloseButtonState", "true");//是否显示关闭按钮
        pOption->AddConfig("CloseButtonUrl", (IconFolderPath+"\close.bmp").c_str());//关闭按钮图片路径
        pOption->AddConfig("CloseBtnPosX", "180"); //关闭按钮所在窗口x位置
        pOption->AddConfig("CloseBtnPosY", "10"); //关闭按钮所在窗口y位置
        pOption->AddConfig("CloseBtnPosW", "20"); //关闭按钮宽度
        pOption->AddConfig("CloseBtnPosH", "20"); //关闭按钮高度
        pOption->AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption->AddConfig("FunctionName", "Test");//函数名
        pOption->AddConfig("FunctionParam", "20");//函数参数
        pOption->AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop1 = tools->CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop1->Active();//激活工具类
        multiDynamicPop1->AddObserver();
    }
    if (multiDynamicPop2 == NULL) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("OptionsTypeName", "DynamicPopWindowOptions");
        pOption->AddConfig("Longitude", "120.218832919919");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption->AddConfig("Latitude", "30.210110643972");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption->AddConfig("PosHeight", "25.849885681644");//指向经纬度坐标高度
        pOption->AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption->AddConfig("Width", "80");//窗口宽度
        pOption->AddConfig("Height", "80");//窗口高度
        pOption->AddConfig("ArrowSize", "3");//箭头大小
        pOption->AddConfig("Radial", "0");//圆角直径
        pOption->AddConfig("Url", strPath + "pop1.htm");//指向网页url
        pOption->AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption->AddConfig("IsShow", "true");//是否可见,默认可见
        pOption->AddConfig("CloseButtonState", "false");//是否显示关闭按钮
        pOption->AddConfig("CloseButtonUrl", (IconFolderPath+"\close.bmp").c_str());//关闭按钮图片路径
        pOption->AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption->AddConfig("FunctionName", "Test");//函数名
        pOption->AddConfig("FunctionParam", "20");//函数参数
        pOption->AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop2 = tools->CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop2->Active();//激活工具类
        multiDynamicPop2->AddObserver();
    }
}

//更新网页动态气泡
void Cf6c3TipsDialogDlg::OnBnClickedupdatedynamicpop()
{
    if (multiDynamicPop1) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("Width", "100");//窗口宽度
        pOption->AddConfig("Height", "80");//窗口高度
        pOption->AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        multiDynamicPop1->UpdateToolsOptions(pOption);//更新接口
    }
    if (multiDynamicPop2) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("Width", "80");//窗口宽度
        pOption->AddConfig("Height", "100");//窗口高度
        pOption->AddConfig("FunctionName", "Test");//交互函数
        pOption->AddConfig("FunctionParam", "320");//交互参数    
        multiDynamicPop2->UpdateToolsOptions(pOption);//更新接口
    }

}

void Cf6c3TipsDialogDlg::OnBnClickedvisiblemultidynamicpop()
{
    bShow = !bShow;
    std::string bShowStr = "";
    if (bShow) {
        bShowStr = "true";
    } else {
        bShowStr = "false";
    }
    if (multiDynamicPop1) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("IsShow", bShowStr.c_str());//设置显隐状态
        multiDynamicPop1->UpdateToolsOptions(pOption);//更新接口
    }
    if (multiDynamicPop2) {
        ConfigOptionsCOMLib::IToolsOptionsPtr pOption = tools->CreateToolsOptions("dynamicPop");;//创建工具类配置项
        pOption->AddConfig("IsShow", bShowStr.c_str());
        multiDynamicPop2->UpdateToolsOptions(pOption);//更新接口
    }
}

//删除网页动态气泡
void Cf6c3TipsDialogDlg::OnBnClickedremovedynamicpop()
{
    removeMultiDynamicPop(0);
}

void Cf6c3TipsDialogDlg::removeMultiDynamicPop(int type)
{
    if (multiDynamicPop1 && (type == 1 || type == 0)) {
        tools->DestoryTools(multiDynamicPop1);//移除工具对象
        multiDynamicPop1 = NULL;
    }
    if (multiDynamicPop2 && (type == 2 || type == 0)) {
        tools->DestoryTools(multiDynamicPop2);//移除工具对象
        multiDynamicPop2 = NULL;
    }
}

//回调
void Cf6c3TipsDialogDlg::FireOnToolsNotifyVpsdkctrl1(long ToolsID, long notifyType)
{
    //动态弹窗1
    if (multiDynamicPop1 && ToolsID == multiDynamicPop1->GetToolsID()) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = multiDynamicPop1->GetToolsResult();
        std::string param = opt->GetConfigValueByKey("Param");
        if (param == "123") {
            MessageBox(L"动态弹窗动态框:123");
        }
        if (param == "456") {
            MessageBox(L"关闭弹窗:456");
            removeMultiDynamicPop(1);
        }
        if (param == "Close") {
            MessageBox(L"准备关闭窗口");
            removeMultiDynamicPop(1);
        }
    }
    //动态弹窗2
    if (multiDynamicPop2 && ToolsID == multiDynamicPop2->GetToolsID()) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = multiDynamicPop2->GetToolsResult();
        std::string param = opt->GetConfigValueByKey("Param");
        if (param == "123") {
            MessageBox(L"动态弹窗动态框1:123");
        }
        if (param == "456") {
            MessageBox(L"动态弹窗动态框1:456");
        }
        if (param == "Close") {
            MessageBox(L"准备关闭窗口");
            removeMultiDynamicPop(2);
        }
    }
}

C#调用

string gPagesPath ="E:/data/LocalData/html/pop.htm";
string gIconFolderPath = "E:/data/LocalData/Other/images";
var dataPath = gPrjImagesFolderPath + "/close.bmp";//关闭按钮图片路径
bool state;//显隐控制开关

IToolsObject multiDynamicPop1;//动态弹窗对象1
IToolsObject multiDynamicPop2;//动态弹窗对象2
//创建网页动态气泡
private void createDynamicPop_Click(object sender, EventArgs e)
{
    if (multiDynamicPop1 == null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop"); ;//创建工具类配置项
        pOption.AddConfig("Longitude", "120.219458309298");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption.AddConfig("Latitude", "30.211521625606");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption.AddConfig("PosHeight", "90.451804557815");//指向经纬度坐标高度
        pOption.AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption.AddConfig("Width", "300");//窗口宽度
        pOption.AddConfig("Height", "280");//窗口高度
        pOption.AddConfig("ArrowSize", "3");//箭头大小
        pOption.AddConfig("Radial", "2");//圆角直径
        pOption.AddConfig("Url", path + "/pop.htm");//指向网页url
        pOption.AddConfig("MoveDelay", "10");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption.AddConfig("IsShow", "true");//是否可见,默认可见
        pOption.AddConfig("CloseButtonState", "true");//是否显示关闭按钮
        pOption.AddConfig("CloseButtonUrl", gIconFolderPath + "\\close.bmp");//关闭按钮图片路径
        pOption.AddConfig("CloseBtnPosX", "180"); //关闭按钮所在窗口x位置
        pOption.AddConfig("CloseBtnPosY", "10"); //关闭按钮所在窗口y位置
        pOption.AddConfig("CloseBtnPosW", "20"); //关闭按钮宽度
        pOption.AddConfig("CloseBtnPosH", "20"); //关闭按钮高度
        pOption.AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption.AddConfig("FunctionName", "Test");//函数名
        pOption.AddConfig("FunctionParam", "20");//函数参数
        pOption.AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop1 = tools.CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop1.Active();//激活工具类
        multiDynamicPop1.AddObserver();
    }

    if (multiDynamicPop2 == null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop"); ;//创建工具类配置项
        pOption.AddConfig("OptionsTypeName", "DynamicPopWindowOptions");
        pOption.AddConfig("Longitude", "120.218832919919");//指向经纬度坐标经度,示例配置成杭州地区的经纬度
        pOption.AddConfig("Latitude", "30.210110643972");//指向经纬度坐标维度,示例配置成杭州地区的经纬度
        pOption.AddConfig("PosHeight", "25.849885681644");//指向经纬度坐标高度
        pOption.AddConfig("ShowDistance", "2000000");//最大显示垂直距离
        pOption.AddConfig("Width", "80");//窗口宽度
        pOption.AddConfig("Height", "80");//窗口高度
        pOption.AddConfig("ArrowSize", "3");//箭头大小
        pOption.AddConfig("Radial", "0");//圆角直径
        pOption.AddConfig("Url", path + "/pop1.htm");//指向网页url
        pOption.AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        pOption.AddConfig("IsShow", "true");//是否可见,默认可见
        pOption.AddConfig("CloseButtonState", "false");//是否显示关闭按钮
        pOption.AddConfig("CloseButtonUrl", gIconFolderPath + "\\close.bmp");//关闭按钮图片路径
        pOption.AddConfig("BKColor", "65,177,255,200");//箭头背景颜色
        pOption.AddConfig("FunctionName", "Test");//函数名
        pOption.AddConfig("FunctionParam", "20");//函数参数
        pOption.AddConfig("IsOverShow", "false");//当目标超出屏幕是否显示,默认显示
        multiDynamicPop2 = tools.CreateToolsObject("DynamicWindowTool", pOption);//创建工具类型。DynamicWindowTool代表动态弹窗
        multiDynamicPop2.Active();//激活工具类
        multiDynamicPop2.AddObserver();
    }

}
//更新网页动态气泡
private void updateDynamicPop_Click(object sender, EventArgs e)
{
    if (multiDynamicPop1 != null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop"); ;//创建工具类配置项
        pOption.AddConfig("Width", "100");//窗口宽度
        pOption.AddConfig("Height", "80");//窗口高度
        pOption.AddConfig("MoveDelay", "1");//坐标更新频率,例如1表示每10ms更新一次,60表示每10ms*60更新一次
        multiDynamicPop1.UpdateToolsOptions(pOption);//更新接口
    }
    if (multiDynamicPop2 != null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop"); ;//创建工具类配置项
        pOption.AddConfig("Width", "80");//窗口宽度
        pOption.AddConfig("Height", "100");//窗口高度
        pOption.AddConfig("FunctionName", "Test");//交互函数
        pOption.AddConfig("FunctionParam", "320");//交互参数    
        multiDynamicPop2.UpdateToolsOptions(pOption);//更新接口
    }
}
//显隐动态弹窗
bool bShow = true;
private void visibleMultiDynamicPop_Click(object sender, EventArgs e)
{
    bShow = !bShow;
    var bShowStr = "";
    if (bShow)
    {
        bShowStr = "true";
    }
    else
    {
        bShowStr = "false";
    }
    if (multiDynamicPop1 != null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop");//创建响应器配置项
        pOption.AddConfig("IsShow", bShowStr);//配置响应器显隐状态
        multiDynamicPop1.UpdateToolsOptions(pOption);//更新相应器操作
    }
    if (multiDynamicPop2 != null)
    {
        var pOption = tools.CreateToolsOptions("dynamicPop");//创建响应器配置项
        pOption.AddConfig("IsShow", bShowStr);//配置响应器显隐状态
        multiDynamicPop2.UpdateToolsOptions(pOption);//更新相应器操作
    }
}

//删除网页动态气泡
private void removeDynamicPop_Click(object sender, EventArgs e)
{
    removemMultiDynamicPop(0);
}
//移除动态弹窗
private void removemMultiDynamicPop(int type)
{
    if (multiDynamicPop1 != null && (type == 1 || type == 0))
    {
        tools.DestoryTools(multiDynamicPop1);//移除工具对象
        multiDynamicPop1 = null;
    }
    if (multiDynamicPop2 != null && (type == 2 || type == 0))
    {
        tools.DestoryTools(multiDynamicPop2);//移除工具对象
        multiDynamicPop2 = null;
    }
}
//tool回调实现函数
private void axVPSDKCtrl1_FireOnToolsNotify(object sender, AxSDKCtrlLib._IVPSDKCtrlEvents_FireOnToolsNotifyEvent e)
{
    //动态弹窗1
    if (multiDynamicPop1 != null && e.toolsID == multiDynamicPop1.GetToolsID())
    {
        var param = multiDynamicPop1.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123")
        {
            MessageBox.Show("动态弹窗动态框:123");
        }
        if (param == "456")
        {
            MessageBox.Show("关闭弹窗:456");
            removemMultiDynamicPop(1);
        }
        if (param == "Close")
        {
            MessageBox.Show("准备关闭窗口");
            removemMultiDynamicPop(1);
        }
    }
    //动态弹窗2
    if (multiDynamicPop2 != null && e.toolsID == multiDynamicPop2.GetToolsID())
    {
        var param = multiDynamicPop2.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123")
        {
            MessageBox.Show("动态弹窗动态框1:123");
        }
        if (param == "456")
        {
            MessageBox.Show("动态弹窗动态框1:456");
        }
        if (param == "Close")
        {
            MessageBox.Show("准备关闭窗口");
            removemMultiDynamicPop(2);
        }
    }
}

2.静态弹窗

静态弹窗是指在窗口固定位置弹出一个子窗口。该子窗口的位置不会跟随场景的移动而移动的。

静态弹窗是通过工具类实现的,它类似图层对象功能,可以进行添加(创建)、更新、显隐和删除操作。

注意: 静态弹窗可以设置窗口透明度,但是子窗口中的内容会跟随透明。因此建议透明度不要设置太低,一般设为200左右。

参数说明

静态弹窗可配置的参数如下表所示:

配置项 配置说明 值类型 备注
Left 左边边距 double 窗口距离左边边距。默认:0.0
Top 顶部边距 double 窗口距离顶部边距。默认:0.0
Width 窗口宽度 double 窗口的宽度。默认:0.0
Height 窗口高度 double 窗口的高度。默认:0.0
Alpha 窗口透明度 double 窗口的透明度。取值在0-255之间。默认:255
Url 页面访问路径 string 窗口子页面访问路径。可以是本地绝对路径,也可以是网络路径
IsShow 是否可见 bool 窗口是否可见。默认true
IsScreenPos 是否相对屏幕 bool 是否相对屏幕。true-相对电脑屏幕;false-相对地图界面
FunctionName 交互函数名 string 主窗口调用子窗口函数名称
FunctionParam 交互参数 string 主窗口调用子窗口函数时传递的参数

代码调用示例

Javascript调用

//tool回调实现函数
function callBackFunTools(toolsID, notifyType) {
    //静态弹窗
    if (staticPop && toolsID == staticPop.GetToolsID()) {
        var param = staticPop.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123") {
            alert("接收成功!参数:" + param);
        }
        if (param == "456") {
            alert("准备关闭窗口。参数:" + param);
            removeStaticPop();
        }
    }
}
var tools = obj.GetIToolsCOMPtr();//使用对象前,务必初始化
var operaEvent = addEvent(obj, "FireOnToolsNotify", callBackFunTools);//添加回调
var staticPop = null;
var gPrjIndexPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";
//创建静态弹窗
function createStaticPop() {
    if (staticPop == null) {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Url", gPrjIndexPath + "/pages/pop.htm");//网页链接地址
        opt.AddConfig("Left", "10");//屏幕位置x
        opt.AddConfig("Top", "10");//屏幕位置y
        opt.AddConfig("Width", "350");//页面宽度
        opt.AddConfig("Height", "500");//页面高度        
        opt.AddConfig("Alpha", "100");//窗口透明度    
        opt.AddConfig("Radial", "20");//圆角直径
        opt.AddConfig("IsShow", "true");//是否显示
        opt.AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        staticPop = tools.CreateToolsObject("WebInfoTool", opt);//创建工具类型。WebInfoTool代表静态弹窗
        staticPop.AddObserver();//打开事件绑定功能
        staticPop.Active();//激活工具类
    } else {
        alert("已存在弹窗对象,请勿重复创建!");
    }
}
//更新静态弹窗
//更新时可以与子窗口交互,但是不能同时更新子窗口路径和交互参数
function updateStaticPop() {
    if (staticPop) {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Left", "200");//屏幕位置x
        opt.AddConfig("Top", "300");//屏幕位置y
        opt.AddConfig("Width", "350");//页面宽度
        opt.AddConfig("Height", "500");//页面高度    
        opt.AddConfig("Alpha", "180");//窗口透明度    
        opt.AddConfig("IsShow", "true");//是否显示    
        opt.AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面        
        opt.AddConfig("FunctionName", "Test");//交互函数
        opt.AddConfig("FunctionParam", "320");//交互参数    
        staticPop.UpdateToolsOptions(opt);//更新接口
    } else {
        alert("请创建对象后再更新!");
    }
}
//删除静态弹窗
function removeStaticPop() {
    if (staticPop) {
        tools.DestoryTools(staticPop);//移除工具对象
        staticPop = null;
    } else {
        alert("不存在对象,无需移除!");
    }
}

C++调用

ToolsCOMLib::IToolsManagerPtr tools;//工具类对象
BaseObjectCOMLib::IToolsObjectPtr staticPop;//静态弹窗
CString strPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";

//创建网页静态弹窗
void Cf6c3TipsDialogDlg::OnBnClickedcreatestaticpop()
{
    if (staticPop == NULL) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = tools->CreateToolsOptions("web");//创建配置项
        opt->AddConfig("Url", (strPath + "pop.htm"));//网页链接地址
        opt->AddConfig("Left", "10");//屏幕位置x
        opt->AddConfig("Top", "10");//屏幕位置y
        opt->AddConfig("Width", "350");//页面宽度
        opt->AddConfig("Height", "500");//页面高度        
        opt->AddConfig("Alpha", "100");//窗口透明度    
        opt->AddConfig("Radial", "20");//圆角直径
        opt->AddConfig("IsShow", "true");//是否显示
        opt->AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        staticPop = tools->CreateToolsObject("WebInfoTool", opt);//创建工具类型。WebInfoTool代表静态弹窗
        staticPop->AddObserver();//打开事件绑定功能
        staticPop->Active();//激活工具类
    }
}

//更新网页静态弹窗
void Cf6c3TipsDialogDlg::OnBnClickedupdatestaticpop()
{
    if (staticPop != NULL) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = tools->CreateToolsOptions("web");//创建配置项
        opt->AddConfig("Left", "200");//屏幕位置x
        opt->AddConfig("Top", "300");//屏幕位置y
        opt->AddConfig("Width", "350");//页面宽度
        opt->AddConfig("Height", "500");//页面高度    
        opt->AddConfig("Alpha", "180");//窗口透明度    
        opt->AddConfig("IsShow", "true");//是否显示    
        opt->AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面        
        opt->AddConfig("FunctionName", "Test");//交互函数
        opt->AddConfig("FunctionParam", "320");//交互参数    
        staticPop->UpdateToolsOptions(opt);//更新接口
    }
}

//删除网页静态弹窗
void Cf6c3TipsDialogDlg::OnBnClickedremovestaticpop()
{
    if (staticPop!= NULL) {
        tools->DestoryTools(staticPop);//移除工具对象
        staticPop = NULL;
    } 
}

void Cf6c3TipsDialogDlg::FireOnToolsNotifyVpsdkctrl1(long ToolsID, long notifyType)
{
    //静态弹窗
    if (staticPop && ToolsID == staticPop->GetToolsID()) 
    {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = staticPop->GetToolsResult();
        std::string param = opt->GetConfigValueByKey("Param");
        if (param == "123") {
            MessageBox(L"接收成功");
        }
        if (param == "456") {
            MessageBox(L"关闭窗口");
            OnBnClickedremovestaticpop();
        }
    }
}

C#调用

string path ="E:/data/LocalData/html";
IToolsObject staticPop;//网页静态弹窗对象
bool state;//显隐控制开关
//创建网页静态弹窗
private void createStaticPop_Click(object sender, EventArgs e)
{
    if (staticPop == null)
    {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Url", path+"/pop.htm");//网页链接地址
        opt.AddConfig("Left", "10");//屏幕位置x
        opt.AddConfig("Top", "10");//屏幕位置y
        opt.AddConfig("Width", "350");//页面宽度
        opt.AddConfig("Height", "500");//页面高度        
        opt.AddConfig("Alpha", "100");//窗口透明度    
        opt.AddConfig("Radial", "20");//圆角直径
        opt.AddConfig("IsShow", "true");//是否显示
        opt.AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        staticPop = tools.CreateToolsObject("WebInfoTool", opt);//创建工具类型。WebInfoTool代表静态弹窗
        staticPop.AddObserver();//打开事件绑定功能
        staticPop.Active();//激活工具类
    }
    else
    {
        MessageBox.Show("已存在弹窗对象,请勿重复创建!");
    }
}
//更新网页静态弹窗
private void updateStaticPop_Click(object sender, EventArgs e)
{
    if (staticPop!=null)
    {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Left", "200");//屏幕位置x
        opt.AddConfig("Top", "300");//屏幕位置y
        opt.AddConfig("Width", "350");//页面宽度
        opt.AddConfig("Height", "500");//页面高度    
        opt.AddConfig("Alpha", "180");//窗口透明度    
        opt.AddConfig("IsShow", "true");//是否显示    
        opt.AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面        
        opt.AddConfig("FunctionName", "Test");//交互函数
        opt.AddConfig("FunctionParam", "320");//交互参数    
        staticPop.UpdateToolsOptions(opt);//更新接口
    }
    else
    {
        MessageBox.Show("请创建对象后再更新!");
    }
}
//删除网页静态弹窗
private void removeStaticPop_Click(object sender, EventArgs e)
{
    removemStaticPop();
}

private void removemStaticPop()
{
    if (staticPop!=null)
    {
        tools.DestoryTools(staticPop);//移除网页弹窗
        staticPop = null;
    }
    else
    {
        MessageBox.Show("不存在对象,无需移除!");
    }    
}

//tool回调实现函数
private void axVPSDKCtrl1_FireOnToolsNotify(object sender, AxSDKCtrlLib._IVPSDKCtrlEvents_FireOnToolsNotifyEvent e)
{
    //静态弹窗
    if (staticPop != null && e.toolsID == staticPop.GetToolsID())
    {
        var param = staticPop.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123")
        {
            MessageBox.Show("接收成功!参数:" + param);
        }
        if (param == "456")
        {
            MessageBox.Show("准备关闭窗口。参数:" + param);
            removemStaticPop();
        }
    }
}

3.静态窗口

静态窗口是指在窗口上方覆盖一个子窗口。该子窗口在设定之后,会固定在场景上,并且在子窗口透明区域,可以直接拖动场景。

静态弹窗是通过工具类实现的,它类似图层对象功能,可以进行添加(创建)、更新、显隐和删除操作。

注意: 静态窗口可以通过DIV布局,将显示子窗口内容部分设置半透背景,显示三维场景区域设置全透背景,以达到多块内容浮在三维场景上的效果。

参数说明

静态窗口可配置的参数如下表所示:

配置项 配置说明 值类型 备注
Left 左边边距 double 窗口距离左边边距。单位:像素,也可用百分比表示:x%
Top 顶部边距 double 窗口距离顶部边距。单位:像素,也可用百分比表示:x%
Width 窗口宽度 double 窗口的宽度。单位:像素,也可用百分比表示:x%
Height 窗口高度 double 窗口的高度。单位:像素,也可用百分比表示:x%
Url 页面访问路径 string 窗口子页面访问路径。可以是本地绝对路径,也可以是网络路径
IsShow 是否可见 bool 窗口是否可见。默认true
IsScreenPos 是否相对屏幕 bool 是否相对屏幕。true-相对电脑屏幕;false-相对地图界面
FunctionName 交互函数名 string 主窗口调用子窗口函数名称
FunctionParam 交互参数 string 主窗口调用子窗口函数时传递的参数

代码调用示例

Javascript调用

//tool回调实现函数
function callBackFunTools(toolsID, notifyType) {
    //静态窗口
    if (staticWindow && toolsID == staticWindow.GetToolsID()) {
        var param = staticWindow.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123") {
            alert("动态弹窗静态框:123");
        }
        if (param == "456") {
            alert("动态弹窗静态框:456");
        }
    }
}
var tools = obj.GetIToolsCOMPtr();//使用对象前,务必初始化
var operaEvent = addEvent(obj, "FireOnToolsNotify", callBackFunTools);//添加回调
var staticWindow = null;
var gPrjIndexPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";
//创建静态窗口
//静态窗口是通过cef插件做的,可以覆盖全屏幕,需要覆盖全屏的网页保留地图区域为透明即可
function createStaticWindow() {
    if (staticWindow == null) {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Url", gPrjIndexPath + "/pages/pop2.htm");//网页路径,可本地可网络
        opt.AddConfig("Left", "0");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Top", "0");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Height", "90%");//页面高度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        opt.AddConfig("IsShow", "true");//显隐状态
        staticWindow = tools.CreateToolsObject("StaticWindowTool", opt);//创建工具类型。StaticWindowTool代表静态窗口
        staticWindow.AddObserver();//打开事件绑定功能
        staticWindow.Active();//激活工具类
    }
}
//更新静态窗口
function updateStaticWindow() {
    if (staticWindow) {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Left", "10%");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Top", "10%");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Height", "80%");//页面高度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面
        opt.AddConfig("IsShow", "true");//显隐状态
        opt.AddConfig("FunctionName", "Test");
        opt.AddConfig("FunctionParam", "20");
        staticWindow.UpdateToolsOptions(opt);//更新接口
    }
}
//删除静态窗口
function removeStaticWindow() {
    if (staticWindow) {
        tools.DestoryTools(staticWindow);//移除工具对象
        staticWindow = null;
    }
}

C++调用

ToolsCOMLib::IToolsManagerPtr tools;//工具类对象
BaseObjectCOMLib::IToolsObjectPtr staticWindow;//静态窗口
CString strPath = "E:/SDK应用级示例/CooGisSDKDemoApplication-V6.1/data";

void Cf6c3TipsDialogDlg::OnBnClickedcreatestaticwindow()
{
    if (staticWindow == NULL) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = tools->CreateToolsOptions("web");//创建配置项
        opt->AddConfig("Url", strPath + "/pop2.htm");//网页路径,可本地可网络
        opt->AddConfig("Left", "0");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Top", "0");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Height", "90%");//页面高度,单位:像素,也可用百分比表示:x%
        opt->AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        opt->AddConfig("IsShow", "true");//显隐状态
        staticWindow = tools->CreateToolsObject("StaticWindowTool", opt);//创建工具类型。StaticWindowTool代表静态窗口
        staticWindow->AddObserver();//打开事件绑定功能
        staticWindow->Active();//激活工具类
    }
}

void Cf6c3TipsDialogDlg::OnBnClickedupdatestaticwindow()
{
    if (staticWindow) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = tools->CreateToolsOptions("web");//创建配置项
        opt->AddConfig("Left", "10%");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Top", "10%");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt->AddConfig("Height", "80%");//页面高度,单位:像素,也可用百分比表示:x%
        opt->AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面
        opt->AddConfig("IsShow", "true");//显隐状态
        opt->AddConfig("FunctionName", "Test");
        opt->AddConfig("FunctionParam", "20");
        staticWindow->UpdateToolsOptions(opt);//更新接口
    }
}

void Cf6c3TipsDialogDlg::OnBnClickedremovestaticwindow()
{
    if (staticWindow) {
        tools->DestoryTools(staticWindow);//移除工具对象
        staticWindow = NULL;
    }
}

void Cf6c3TipsDialogDlg::FireOnToolsNotifyVpsdkctrl1(long ToolsID, long notifyType)
{
    //静态窗口
    if (staticWindow && ToolsID == staticWindow->GetToolsID()) {
        ConfigOptionsCOMLib::IToolsOptionsPtr opt = staticWindow->GetToolsResult();
        std::string param = opt->GetConfigValueByKey("Param");
        if (param == "123") {
            MessageBox(L"动态弹窗静态框:123");
        }
        if (param == "456") {
            MessageBox(L"动态弹窗静态框:456");
        }
    }
}

C#调用

string path ="E:/data/LocalData/html";
bool state;//显隐控制开关
//创建静态窗口
//静态窗口是通过cef插件做的,可以覆盖全屏幕,需要覆盖全屏的网页保留地图区域为透明即可
IToolsObject staticWindow;
private void createStaticWindow_Click(object sender, EventArgs e)
{
    if (staticWindow == null)
    {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Url", path + "/pop2.htm");//网页路径,可本地可网络
        opt.AddConfig("Left", "0");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Top", "0");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Height", "90%");//页面高度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("IsScreenPos", "false");//是否相对屏幕,false则为相对地图界面
        opt.AddConfig("Radial", "10");//弹窗四角弧度
        opt.AddConfig("IsShow", "true");//显隐状态
        staticWindow = tools.CreateToolsObject("StaticWindowTool", opt);//创建工具类型。StaticWindowTool代表静态窗口
        staticWindow.AddObserver();//打开事件绑定功能
        staticWindow.Active();//激活工具类
    }
}
//更新静态窗口
private void updateStaticWindow_Click(object sender, EventArgs e)
{
    if (staticWindow !=null)
    {
        var opt = tools.CreateToolsOptions("web");//创建配置项
        opt.AddConfig("Left", "10%");//左上角水平相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Top", "10%");//左上角垂直相对位置,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Width", "90%");//页面宽度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("Height", "80%");//页面高度,单位:像素,也可用百分比表示:x%
        opt.AddConfig("IsScreenPos", "true");//是否相对屏幕,false则为相对地图界面
        opt.AddConfig("Radial", "50");//弹窗四角弧度
        opt.AddConfig("IsShow", "true");//显隐状态
        opt.AddConfig("FunctionName", "Test");
        opt.AddConfig("FunctionParam", "20");
        staticWindow.UpdateToolsOptions(opt);//更新接口
    }
}
//删除静态窗口
private void removeStaticWindow_Click(object sender, EventArgs e)
{
    if (staticWindow !=null)
    {
        tools.DestoryTools(staticWindow);//移除工具对象
        staticWindow = null;
    }
}

//tool回调实现函数
private void axVPSDKCtrl1_FireOnToolsNotify(object sender, AxSDKCtrlLib._IVPSDKCtrlEvents_FireOnToolsNotifyEvent e)
{
    //静态窗口
    if (staticWindow != null && e.toolsID == staticWindow.GetToolsID())
    {
        var param = staticWindow.GetToolsResult().GetConfigValueByKey("Param");
        if (param == "123")
        {
            MessageBox.Show("动态弹窗静态框:123");
        }
        if (param == "456")
        {
            MessageBox.Show("动态弹窗静态框:456");
        }
    }
}

results matching ""

    No results matching ""