close

 

建立ActiveX的專案,注意右上方可以選擇相依的.NET版本,最好選擇已經普及的版本,避免客戶沒有安裝新版本.NET的窘境.

activex00.PNG

此處可以加入一些屬性或程式碼到ActiveX的專案,目前尚未深入研究.

activex01.PNG

專案開啟之後,直接執行(F5)是無法驗證的,必須搭配ActiveX Container,過去是有[ActiveX Control Test Container]這個預設的工具可以測試.

但是似乎必須確認是retail version才會安裝.我是選用IE當做驗證容器.

開啟專案的屬性.在偵錯的設定頁設定

命令 : C:\Program Files\InternetExplorer\iexplore.exe
參數 : C:\Documents andSettings\personlin\My Documents\Visual Studio2008\Projects\Project1\MyActiveX\MyActiveX\MyActiveX.htm

當然必須確定iexplore.exe放的位置和撰寫一個簡單的html引入目前撰寫的ActiveX control

activex02.PNG

MyActiveX.htm 的頁面內容下:

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=big5"/>
<TITLE>物件 MyActiveX 的測試頁</TITLE>
</HEAD>
<BODY>
<OBJECT ID="MyActiveX" CLASSID="CLSID:0890299A-0BE4-4AA4-B9F3-49104960464C"></OBJECT>

<script language="javascript">
function MyActiveX::OnClick(x,y)
{
//alert("x="+x + ", y="+y);
}
</script>

</BODY>
</HTML>

 

物件的ClassID,則可以參考專案裡的 MyActiveX.idl

//  CMyActiveXCtrl 的類別資訊

    [ uuid(0890299A-0BE4-4AA4-B9F3-49104960464C),
      helpstring("MyActiveX Control"), control ]
    coclass MyActiveX
    {
        [default] dispinterface _DMyActiveX;
        [default, source] dispinterface _DMyActiveXEvents;
    };

一般正常應該到此即可, 但用IE8的人可能就需要再做一些設定.

1) Open RegEdit
2) Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3) Add a dword under this key called TabProcGrowth
4) Set TabProcGrowth to 0
5) Open Internet Explorer
6) Go to Tools->Internet Options
7) Switch to the Advanced tab
8) Uncheck 'Disable script debugging (internet explorer)'

 

Referneces:

ATL Tutorial

Script debugging broken in VS 2005 after installing IE8

Sylvia's blog

arrow
arrow
    全站熱搜

    Person 發表在 痞客邦 留言(0) 人氣()