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

     
     
  • 相关阅读:
    前端
    Spring AOP知识点整理
    【转载】spring aop 面试考点
    【转载】MDC 是什么?
    【转载】在分布式项目中,每个服务器的日志从产生,到集中到一个统一日志平台的流程是什么,中间都有那些过程?
    【转载】门面日志如何自动发现日志组件
    【转载】ArrayList从源码看扩容实现
    【原创】Ajax实现方式
    【转载】servlet与springMVC的差别
    【转载】serlvet
  • 原文地址:https://www.cnblogs.com/lizhigang/p/6877581.html
Copyright © 2011-2022 走看看