首页 / 浏览问题 / 组件GIS / 问题详情
关于CPP 气泡问题 想在咨询下
48EXP 2020年04月26日
关于 CPP 组件气泡问题 目前 我通过

        UGBubble* bubble = new UGBubble();

       UGlong pWnd = (UGlong)&this[0];
        bubble->SetEventFunc(BubbleCallBackTest, pWnd);
        m_pUGSceneWnd->GetScene3D()->AddBubble(bubble);

增加了一个气泡 同时增加了气泡的回调

 在回调里

UGRect bubbleRect = m_pBubble->GetBubbleRect();
        sceneControl->m_pBubbleDialog->moveTo(bubbleRect.left, bubbleRect.top , bubbleRect.right, bubbleRect.bottom );
        sceneControl->m_pBubbleDialog->show();

去控制显示了一个QDIALOG 用于当做气泡的自定义内容显示  但是我的这个QDIALOG 总是现出来 然后气泡在出来后场景就会把QDIALOG盖住  

我想咨询下 气泡中的自定义内容应该怎么正确的添加进去  我感觉 我这种模式 自定义QDIALOG 与场景气泡 是脱节了 并没有真正的关联起来

能否给我提供一段CPP组件 自定义气泡内容的代码  伪代码也可以

1个回答

C++组件关于气泡的没有例子哈,这里给你找了一个.net的,原理是一样的,你可以参考一下里面的代码,主要看SampleRun这个类里面的代码就可以了

链接:https://pan.baidu.com/s/1NJHRbkQWjA7ywspsKdLrfw
提取码:2gd6
4,620EXP 2020年04月26日
你好  我看了你这个.net例子

里边有一句  m_scenecontrol.Controls.Add(bubbleControl);

把自定义的组件添加到场景中

我想问下 CPP 里 怎么把自定义的组件添加到场景中去  我目前气泡的问题 应该就是都出在这里 不知道怎么把组件添加到场景中
你将运行结果截图看看,用法的话就是这样用的,就是通过设置气泡和自定义控制的位置去控制显示

这个是我的自定义组件 

这个是气泡回调的定义

这个是回调的处理 在气泡位置重定位自定义组件 

这个执行的结果是 如下:

气泡出来之前 我自定以的组件先显示 在气泡出来后 自定义组件就会消失  我调试看了下自定义组件的显示状态 是显示的 应该是被场景盖住了

如下两张图:

图太多了有一个上传不上来 另外一个图就是气泡移过去后 自定义组件会被盖住 看不见

...