首页 > 代码库 > C#利用AxImp工具在WPF中使用OCX控件

C#利用AxImp工具在WPF中使用OCX控件

一、注册OCX并利用工具生成dll

@echo offcolor a::FailedREGSVR32 /S /I "MSCOMCTL.OCX"if exist %windir%\SysWOW64 (.\AxImp.exe "C:\Windows\SysWOW64\MSCOMCTL.ocx" /out:.\MSCOMCTL64.dll  ) else (				 .\AxImp.exe "C:\Windows\System32\MSCOMCTL.ocx" /out:.\MSCOMCTL32.dll )pause

二、添加引用(OCX生成的dll)并编码使用

项目引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll

xaml代码使用<Window x:Class="wpf_ocx2dll.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        添加命名空间        xmlns:ms="clr-namespace:MSComctlLib;assembly=MSComctlLib"        Title="MainWindow" Height="350" Width="525">    <Grid>        <WindowsFormsHost x:Name="host">            <ElementHost>                <!--<ms:Button Caption="test" />-->            </ElementHost>        </WindowsFormsHost>    </Grid></Window>

或cs代码使用

 MSComctlLib.IButton btn = new MSComctlLib.Button();        public MainWindow()        {            InitializeComponent();            try            {                ((System.ComponentModel.ISupportInitialize)btn).BeginInit();                 //host.Child =btn;                 ((System.ComponentModel.ISupportInitialize)btn).EndInit();            }            catch (Exception ex)            {            }        }

  

所用工具:http://pan.baidu.com/s/1i4AIBxr

C#利用AxImp工具在WPF中使用OCX控件