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

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM