zoukankan      html  css  js  c++  java
  • C#下使用Winform用户控件,Host vtkRenderWindow,来实现vtk与winform集成

    使用vtk的C# warp 版本 ActiViz.net之vtkRenderWindow。

    1.首先写个派生于UserControl下的一个自定义控件,用来host vtkRenderWindow

    代码如下:

     public partial class WinFormPaneFrame : UserControl
        {
            
            public WinFormPaneFrame() :
                base()
            {
                InitializeComponent();
            } 
    }   

    2. 在 构造函数中,添加vtkRenderWindow类的实现,并设置其父窗口时该控件。设置该renderWindow窗口的size 和控件的尺寸一致。启动该renderWindow

    代码如下:

    this._RenderWindow = vtkRenderWindow.New();
                    this._Renderer = vtkRenderer.New();
                    this._Renderer.SetBackground(0.2, 0.2, 0.2);
                    this._RenderWindow.AddRenderer(this._Renderer);
                    this._RenderWindow.SetParentId(this.Handle);
                    this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
                    this._RenderWindow.Start();

    3.  保持vtkRenderWindow的窗口大小和用户控件的大小一致。相应OnSizeCHanged事件,设置renderWindow的size

    代码:

     private void UserControlPaneFrame_SizeChanged(object sender, EventArgs e)
            {
                    this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
            }
  • 相关阅读:
    工单组件增强
    一些BAPI
    实例程序
    使用BAPI一定要提交和回滚(错误)
    动态内表值导出为TXT文件
    网页常用功能
    Code Complete
    Typescript 解构 、展开
    Typescript变量声明
    TypeScript基础数据类型
  • 原文地址:https://www.cnblogs.com/ankier/p/2952990.html
Copyright © 2011-2022 走看看