vs2010開發activex(MFC)控件/ie插件(一)


原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50782904

 

 vs2010開發activex(MFC)控件:
      第一步:生成activex控件
    


     第二步:添加對話框資源及其他控件,添加對話框類,設置對話框屬性




     
第三步:
    

添加WM_CREATE事件,選擇”<添加>OnCreate”,以初始化對話框對象。


int CTest_jsCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO:  在此添加您專用的創建代碼
m_MyDlg.Create(IDD_DIALOG1,this);  //初始化對話框
return 0;
}
OnDraw函數中添加繪制對話框的代碼
// CTest_jsCtrl::OnDraw - 繪圖函數
void CTest_jsCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid){
if (!pdc)
return;
// TODO: 用您自己的繪圖代碼替換下面的代碼。
//pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
//pdc->Ellipse(rcBounds);
m_MyDlg.MoveWindow(rcBounds,true);
}
 

 
 
 
   編譯,生成ocx,編寫測試的html文件:
   html中加載ocx控件的方法:
<BODY>
<OBJECT ID="Test_js" WIDTH=50% HEIGHT=35% 
 CLASSID="CLSID:80F40FB1-7366-4D8E-B2E9-B765E6740F98">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="2646">
    <PARAM NAME="_ExtentY" VALUE="1323">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
上述中的CLASSID:
 
    完整的html測試文件:
   
[html]  view plain  copy
 
  1. <HTML>  
  2. <HEAD>  
  3. <TITLE>測試:js傳參數給ie插件</TITLE>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />   
  5. <SCRIPT LANGUAGE="JavaScript">  
  6. function GetDeviceinfo()  
  7. {  
  8. if (Input1.value!="")  
  9.     {  
  10.       Test_js.paramer1= Input1.value;      
  11.     }  
  12.     //alert(Test_js.paramer1);  
  13.     if (Input2.value!="")  
  14.     {  
  15.        Test_js.paramer2= Input2.value;    
  16.     }  
  17.       if (Input3.value!="")  
  18.     {  
  19.        Test_js.paramer3= Input3.value;    
  20.     }  
  21.      if (Input4.value!="")  
  22.     {  
  23.        Test_js.paramer4= Input4.value;    
  24.     }  
  25. }  
  26. function Test()  
  27. {  
  28.   
  29. var p1=Test_js.paramer3;  
  30. var p2=Test_js.paramer4;  
  31. var a=Test_js.add(p1,p2)  
  32. alert(a);  
  33. }  
  34.   
  35. </SCRIPT>  
  36. </HEAD>  
  37. <BODY>  
  38. <OBJECT ID="Test_js" WIDTH=50% HEIGHT=35%   
  39.  CLASSID="CLSID:80F40FB1-7366-4D8E-B2E9-B765E6740F98">  
  40.     <PARAM NAME="_Version" VALUE="65536">  
  41.     <PARAM NAME="_ExtentX" VALUE="2646">  
  42.     <PARAM NAME="_ExtentY" VALUE="1323">  
  43.     <PARAM NAME="_StockProps" VALUE="0">  
  44. </OBJECT>  
  45. <p></p>   
  46. Inputparamer1: <INPUT TYPE ="text" NAME="Input1" VALUE="">  
  47. Inputparamer2: <INPUT TYPE ="text" NAME="Input2" VALUE="">  
  48. Inputparamer3: <INPUT TYPE ="text" NAME="Input3" VALUE="">  
  49. Inputparamer4: <INPUT TYPE ="text" NAME="Input4" VALUE="">  
  50. <p></p>   
  51. <INPUT TYPE="button" NAME="輸入數據"   
  52.        VALUE="測試js傳參數: " ONCLICK=GetDeviceinfo()>  
  53. <INPUT TYPE="button" NAME="測試"   
  54.        VALUE="測試js調用activex接口函數: " ONCLICK=Test()>     
  55. </BODY>  
  56. </HTML>  
注意:對話框上的控件及處理,跟普通對話框一樣不再說明。
測試結果:

 
 


免責聲明!

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



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