zoukankan      html  css  js  c++  java
  • 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>  
    注意:对话框上的控件及处理,跟普通对话框一样不再说明。
    测试结果:

     
     
  • 相关阅读:
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Construct Binary Tree from Preorder and Inorder Traversal
    Construct Binary Tree from Inorder and Postorder Traversal
    Path Sum
    Symmetric Tree
    Solve Tree Problems Recursively
    632. Smallest Range(priority_queue)
    609. Find Duplicate File in System
    poj3159最短路spfa+邻接表
  • 原文地址:https://www.cnblogs.com/lizhigang/p/6877581.html
Copyright © 2011-2022 走看看