zoukankan      html  css  js  c++  java
  • wpf中使用ocx控件

        最近需要包装产品,需要将系统的界面进行一下改造,也就所谓的整容吧(整容是很危险的事情哦,听说最近又有人Over了),不过风险虽然存在,但是为了产品更好卖,还是得整容呀,大不了请个好的医生咯。最近在网上查找了很多方法,换肤现在比较常用,不过发现基于WPF来实现更好,再怎么说也是微软下一代的所支持的界面库。

        应该说用WPF开发还是比较简单的,特别是业务逻辑代码能和界面封开,这是相当O的事情了。项目时间比较紧迫,对产品的整容最好是不要涉及到肝脏了。为此,我决定还是使用调用原有的dll和ocx来实现吧,可接下来调用ocx怎么改呢,网上介绍也是迷迷糊糊的,今天弄了一下终于将ocx加入到wpf中,步骤如下:
     
    需要先使用regsvr32命令 注册ocx控件。注册完成之后进行如下转换:
        1)借用工具将ocx进行转换,我使用了aximp.exe (http://msdn.microsoft.com/zh-cn/library/ms748870.aspx) 。打开vs2010下打开命令行。
    输入:aximp ocx的路径 /source  (这里加入/source主要是为了生成c#的调用类,用的时候将此类加入到vs工程中即可)
     
    运行后将会生成AxXXXLib.dll、XXXLib.dll和AxXXXLib.cs三个文件。
     
    2)将AxXXXLib.dll、XXXLib.dll通过一下方式加入到工程中
    “右键”点击工程-<Add Reference
     
    选择第一步中生成的AxXXXLib.dll、XXXLib.dll,点击"OK"就完成了。
     
    3)在初始化函数中添加以下代码
    public MainWindow()
    {
        InitializeComponent();
     
    // 创建 host 对象
     System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost();
     
       // 创建OCX的对象
    AxXXXLib axXXX = new AxXXXLib();
     
    //开始初始化ocx对象
    axXXX.BeginInit();
     
    host.Child = axXXX ;
    // 将对象加入到面板中
    dockPan.Children.Add(host);
    // 结束初始化
    axXXX.EndInit();
    }
    在结束初始化之后再进行其它操作!
     
    这样OCX就加入到WPF界面中了。
     
    转自:
    http://blog.csdn.net/lovesw97/article/details/6576360

    参考资料:

  • 相关阅读:
    JAVA中变量的初始化
    取得301转向后的地址
    history for html5
    php traits 介绍
    android 笔记
    C posix 笔记
    笔记
    C 常用库
    cocos2dx:利用CCSpriteBatchNode优化渲染效率
    C实现将指定秒数转化为时:分:秒格式
  • 原文地址:https://www.cnblogs.com/guaniu/p/3006445.html
Copyright © 2011-2022 走看看