ActiViz 9.3实战:ActiViz集成到WPF中的空域问题

文章目录

  • 一、场景
    • 1、WPF控件
    • 2、集成ActiViz或者VTK
  • 二、问题
    • 1、需求
    • 2、空域问题
  • 三、解决方案
    • 1、用WindowsFormsHost包裹住ElementHost,然后将WPF的控件放在ElementHost职中:
    • 2、用Window或者Popup去悬浮
    • 3、使用第三方库Microsoft.DwayneNeed(这也是网上出现较多的答案)
  • 四、最新解决方案
    • 1、步骤
    • 2、需要用到的库
    • 3、关键代码如下:
    • 4、运行结果预览:
    • 5、源码链接
  • 五、总结


一、场景

1、WPF控件

众所周知,由于WPF的底层绘制原理不同,WPF的大多数控件都不具备句柄,具备句柄的也就只有那么几种:Window、Popup、ContextMenu等。

2、集成ActiViz或者VTK

在集成VTK时: 一般选择WindowsFormsHost作为载体,将WinForm具备句柄的控件:如Panel,嵌入WPF布局中。然后将Panel的句柄传给C++。

在集成ActiViz时: 需要以RenderWindowControl来承接三维渲染内容,同样一般选择WindowsFormsHost作为载体,将RenderWindowControl放入其中,然后渲染三维内容。

二、问题

1、需求

如果需求是在三维布局界面,悬浮一些控件,且控件的背景色可以设置成透明。

2、空域问题

你会发现悬浮的WPF控件,始终在WindowsFormsHost之下,也就是说WindowsFormsHost所承载的内容始终置顶。这就是WPF由来已久的空域问题。

三、解决方案

1、用WindowsFormsHost包裹住ElementHost,然后将WPF的控件放在ElementHost职中:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

石墨舟氮气柜的特点和使用要求介绍

石墨舟是一种在半导体、太阳能光伏等高科技产业中广泛使用的专用工具,主要由高纯度石墨材料制成。它的形状通常像一只船,因此得名“石墨舟”。石墨舟主要用于承载硅片或其他基板材料通过各种高温处理过程,是制造半导体器件和太阳能电池片的关…

MIX OTP——监督动态子进程

现在,我们已经成功定义了我们的监督器,它将作为应用程序生命周期的一部分自动启动(和停止)。 但请记住,我们的 KV.Registry 在 handle_cast/2 回调中同时链接(通过 start_link)和监控&#xff…

Spring4.3.x xml配置文件搜索和解析过程

###概述 这篇文章的研究不只是涉及到spring如何创建一个BeanDefinition对象,还涉及到spring如何加载文件、如何读取XML文件、以及我们在使用spring的时候如何扩展spring的配置。 spring在创建BeanFactory时会把xml配置文件和注解信息转换为一个个BeanDefinition对…

分享一个导出数据到 Excel 的解决方案

前言 许多业务场景下需要处理和分析大量的数据,而 Excel 是广泛使用的文件格式,几乎所有人都能打开和查看 Excel 文件,因此将数据库中的原始数据处理后,导出到 Excel 是一个很常见的功能,对于数据管理、分析、备份、展…

侯捷C++面向对象高级编程(上)-2-构造函数

1.inline函数 2.访问级别 3.构造函数 4.重载

《UDS协议从入门到精通》系列——图解0x38:请求上传

《UDS协议从入门到精通》系列——图解0x38:请求上传 一、简介二、数据包格式2.1 服务请求格式2.2 服务响应格式2.2.1 肯定响应2.2.2 否定响应 三、通信示例 Tip📌:本文描述中但凡涉及到其他UDS服务的,将陆续提供链接跳转方式以便快…

新学期必备,录取情况统计如何制作?

暑假即将开始,新学期离我们又近了一步,老师们是不是在为如何高效统计录取情况而头疼呢?别担心,分享一个超实用的小技巧——使用易查分小程序的新建填表功能,让你的录取统计工作变得简单又高效! 打开易查分小…

gin框架 HTML 模板加载,渲染 使用详解和总结

gin框架中默认的HTML模板渲染使用 LoadHTMLGlob() 或者 LoadHTMLFiles() , 这个地方如果是使用的LoadHTMLGlob() 这个方法的话是有坑的,即当你的模板文件放在不同的文件夹中时,使用这个方式加载会将文件夹也作为文件加载进去,从而…

G882磁力仪拖鱼位置是如何计算的?

根据参考文献,磁力仪拖鱼位置计算有两种方法: 1、直线法 直线计算法是假设不考虑海流、船摆等动态因素的影响,拖鱼与拖点始终和航向相同,即整个拖拽系统与船舶是刚性连接。 2、曲线法 实际海洋磁力测量中,在海风、海…

TP8 JS(html2canvas) 生成二维码并与背景图、文字组合生成分享海报

方法一&#xff1a;前端JS生成(推荐) 注意&#xff1a; 这个网页只能截图图片效果代码&#xff0c;其它任何html效果都不能有&#xff0c;不然截图就不准确 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><t…

Windows宝塔面板部署ThinkPHP8.0创建Vue项目案例

安装ThinkPHP8.0 登录宝塔面板&#xff0c;创建一个站点。 输入composer代码&#xff0c;执行完成后自动创建TP目录 composer create-project topthink/think tp 网站目录设置为tp&#xff0c;运行目录设置为public 设置PHP版本为8.0以上&#xff0c;不然会出现下面的报错代…

软考 有向图 数据库之关系模式范式

假设有一个关系 R(A, B, C, D)&#xff0c;并且已知以下函数依赖&#xff1a; A → B B → C BC → D 求候选键? 求候选码? 候选键/候选码 是同一个概念. 数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。 https://cloud.tencent.com/developer/article/2055118 2NF在1NF的基础…

低代码平台技术及其在CRM系统中的应用

随着信息技术的飞速发展&#xff0c;企业对于高效、灵活、可定制的软件开发需求日益增长。在这一背景下&#xff0c;低代码平台&#xff08;Low-Code Platform, LCP&#xff09;技术应运而生&#xff0c;并以其快速开发、易于维护和高度定制化的特性&#xff0c;逐渐成为企业信…

visual studio 2022配置和使用protobuf

上图证明&#xff0c;我真的测了好多遍&#xff0c;测了好多版本的protobuf&#xff0c;花了很多时间。不过好在最后在vs2022上测通了。 下载protobuf 这里是protobuf下载的地址。 Releases protocolbuffers/protobuf GitHub 个人使用的3.21.9这个版本才跑通的。 1、首先…

FastAPI-Body、Field

参考&#xff1a;模式的额外信息 - 例子 - FastAPI 在FastAPI中&#xff0c;Body和Field是两个常用的注解&#xff0c;它们用于定义请求体中的数据或路径参数、查询参数等的处理方式。这两个注解都来自于Pydantic库&#xff0c;用于数据验证和解析&#xff0c;但它们的应用场景…

第6章_libmodbus使用

文章目录 第6章 libmodbus使用6.1 libmodbus开发库6.1.1 功能概要6.1.2 源码获取6.1.3 源码阅读1. 新建工程2. 同步文件3.打开工程4. 操作示例5. 快捷键 6.1.4 libmodbus与应用程序的关系 6.2 libmodbus源代码解析6.2.1 核心函数6.2.2 框架分析与数据结构6.2.3 情景分析1. 初始…

OOXML入门学习

进入-飞入 <par> <!-- 这是一个并行动画序列的开始。"par"代表并行&#xff0c;意味着在这个标签内的所有动画将同时开始。 --><cTn id"5" presetID"2" presetClass"entr" presetSubtype"4" fill"hold&…

vue3 封装获取文件后缀和name的工具方法以及本地下载方法

获取文件后缀 /*** description&#xff1a;获取附件后缀* param {*} file 文件名称* param {*} isDot 是否显示点 0: 显示 1: 不显示*/ export const getFileType: (file?: string, isDot?: 0 | 1) > string (file, isDot 0) > {if (!file) {throw "file is n…

深度解析:Transformer自注意力机制的计算奥秘

深度解析&#xff1a;Transformer自注意力机制的计算奥秘 在自然语言处理&#xff08;NLP&#xff09;的广阔天地中&#xff0c;Transformer模型犹如一颗璀璨的星辰&#xff0c;以其卓越的性能照亮了序列建模的道路。而这一切&#xff0c;都离不开自注意力机制&#xff08;Sel…

C语言指针速成下篇

c语言的指针下篇终于迎来了收尾&#xff0c;那么废话不多说&#xff0c;我们直接进入正题 指针访问数组 # include <stdio.h> int main () { int arr[ 10 ] { 0 }; // 输⼊ int i 0 ; int sz sizeof (arr)/ sizeof (arr[ 0 ]); // 输⼊ int * p arr //这…