本文給出了在Visual Studio 2010開發環境下使用嚮導工具生成一個簡單ocx控件的示例。
首先以管理員身份運行Visual Studio 2010,這樣做的目的是在將來編譯控件時VS2010能自動註冊ocx控件,不會出現權限不足導致失敗的錯誤。如果不使用管理員身份運行VS 2010,將來就需要使用regsvr32命令手動註冊創建的ocx控件(注意執行regsvr32命令時也要使用管理員身份,即以管理員身份執行cmd.exe,然後在命令行窗口中執行regsvr32命令)。在“起始頁”中點擊“新建項目”,就會彈出對話框,如下圖所示:
將要創建一個做乘法運算的ocx控件,於是給項目起名叫"MultiplyDemo",點擊”確定“按鈕,接下來嚮導顯示如下:
接下來都採用默認設置,連續點擊”下一步“按鈕,顯示依次如下:
這裏勾選了“運行時不可見”和”有‘關於’對話框“這兩項,點擊”完成“按鈕,將會自動創建相關的文件。完成後切換到”類視圖“,展開MultiplyDemoLib這一項,在下屬的_DMultiplyDemo這一項上點擊鼠標右鍵,在彈出菜單選項中點擊”添加方法“,如下圖:
在”添加方法嚮導“對話框中,方法名設爲”Multiply“,返回類型在下拉列表中選中LONG。在“參數類型”下拉列表中選擇LONG,“參數名”輸入框中輸入Num1,點“添加”按鈕添加一個參數Num1,再按同樣方法添加參數Num2,如下圖:
點擊“下一步”按鈕,顯示如下:
不修改默認設置,點擊“完成”按鈕。接下來按Ctrl+F快捷鍵,搜索Multiply,定位到MultiplyDemoCtrl.cpp文件中Multiply(LONG Num1, LONG Num2)方法的定義部分,如下圖:
修改Multiply( )函數的定義,改爲如下:
即該函數的返回值是兩個輸入參數Num1與Num2的乘積。
在“解決方案資源管理器”窗口中,在MultiplyDemo這一項上點擊鼠標右鍵,點擊“生成”選項,如下圖:
完成之後,到程序所在目錄下,可以看到創建了MultiplyDemo.ocx文件,如下圖:
可以使用COMRaider工具軟件(網址:https://github.com/dzzie/COMRaider)查看一下生成的ocx文件,顯示如下:
可以看到在MultiplyDemo.ocx控件中包含了一個名爲Multiply的方法。