精华内容
下载资源
问答
  • 本文将深入浅出地介绍在ActiveX控件中制作过程中如何使用字体。本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作 ActiveX 控件本文不作讨论。 本文专门设置了一些例程...
  • 本文将深入浅出地介绍在ActiveX控件中制作过程中如何使用字体。本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作 ActiveX 控件本文不作讨论。  本文专门设置了一些...
    字体的使用是ActiveX控件制作过程中不可缺少的部分。本文将深入浅出地介绍在ActiveX控件中制作过程中如何使用字体。本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作 ActiveX 控件本文不作讨论。
      本文专门设置了一些例程,以便您能够更好地掌握这些内容。这些例程都是完整的ActiveX控件制作源代码。为了突出重点,本文仅对字体使用相关部分的源代码作较详细的介绍,其余部分的代码本文不作过多讨论。字体作为一种属性在ActiveX控件中使用,与其它属性没有区别,同样分为库存属性和自定义属性,本文将分四个部分进行介绍。

    第一部分 在控件中使用库存字体(Stock Font)属性

    使用ClassWizard 添加 Font库存属性的步骤:

    1. 打开控件工程, 单击View菜单的ClassWizard打开ClassWizard;
    2. 单击Automation标签;
    3. 在Class Name框,选择你的控件类名;
    4. 单击Add Property;
    5. 在 External name框, 单击Font;
    6. 单击 OK;
    7. 单击 OK确认你的选择并关闭 ClassWizard;

    ClassWizard将在控件类的执行文件的dispatch映射表中加入下列行:

    DISP_STOCKPROP_FONT()

    另外, ClassWizard 在.ODL 文件中加入下列行:

    [id(DISPID_FONT), bindable] IFontDisp* Font;

    例程1:Label.ocx

      下面,我们举一个具体的实例详细演示如何在控件中添加Font库存属性。您可以下载该例程进行编译生成 .ocx 控件,并测试该控件。
    我们将要制作的控件取名Label.ocx,模仿VB工具箱中的Label控件。该控件增强了VC++工具箱中的Static Text控件的有限的功能,您可以方便地在您的工程中使用。例程的工程名也取名为Label。

    创建Label工程

      打开Visual C++ 6.0,单击File菜单的New,弹出New对话框。在对话框中选择MFC ActiveX ControlWizard,并输入工程名Label,单击OK按钮,关闭该对话框并弹出MFC ActiveX ControlWizard-Step 1 of 2对话框。如图1-1。


    图1-1

      接受MFC ActiveX ControlWizard-Step 1 of 2对话框所有默认设置,单击Next按钮,关闭该窗口同时弹出MFC ActiveX ControlWizard-Step 2 of 2对话框。继续接受MFC ActiveX ControlWizard-Step 2 of 2对话框所有默认设置,单击Finish按钮。
    继续单击OK 按钮,Label工程创建完成,我们将继续对该工程进行修改。使用ClassWizard 给控件增加库存属性Caption,BackColor,ForeColor,Font。

    1. 单击View菜单的ClassWizard打开 ClassWizard;
    2. 单击Automation标签;
    3. Class Name下拉列表框选择CLabelCtrl,单击 Add Property;
    4. 在External name框中,单击Caption;
    5. 单击OK;
    6. 单击OK确认你的选择并关闭ClassWizard;

    我们已经给控件增加了库存属性Caption,该属性用以设置Label控件的文本内容。按上述同样操作,依次添加库存属性BackColor,ForeColor,Font。这3个属性分别用以设置Label控件的背景色,前景色以及字体的属性。如图1-2。


    图1-2

    添加颜色属性页和字体属性页

    打开工程的LabelCtl.cpp文件,将其中的如下代码进行修改:

    BEGIN_PROPPAGEIDS(CLabelCtrl, 1)
    PROPPAGEID(CLabelPropPage::guid)
    END_PROPPAGEIDS(CLabelCtrl)

    修改后的代码:

    BEGIN_PROPPAGEIDS(CLabelCtrl, 3) // 具体个数由实际情况而定
    PROPPAGEID(CLabelPropPage::guid)//系统自带的属性页
    PROPPAGEID(CLSID_CColorPropPage) //加入Color属性页
    PROPPAGEID(CLSID_CFontPropPage) //加入Font属性页
    END_PROPPAGEIDS(CLabelCtrl) 

    修改系统自带的属性页

      打开系统自带的属性页资源IDD_PROPPAGE_LABEL,将静态文本框IDC_STATIC的内容改为"Caption:",添加一个编辑框(Edit Box)控件,控件ID为IDC_CAPTION。如图1-3


    图1-3

      按下"Ctrl+W"组合键打开ClassWizard,选中Member Variables标签,Class name:下拉列表框选择CLabelPropPage,Control IDs:选中IDC_CAPTION,单击Add Variable…按钮,弹出Add Member Variable对话框。
    在Add Member Variable对话框中,Member variable name:框输入m_caption,Category选择Value,Variable type:框选择CString,Optional property name:框选择Caption,单击OK按钮。如图1-4。


    图1-4

    再次单击OK按钮关闭ClassWizard。上述操作,编辑框IDC_CAPTION与Caption属性之间建立了联系。您可以通过修改编辑框的内容来改变控件Caption的属性值。

    修改OnDraw函数

    修改后的OnDraw函数如下:

    void CLabelCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid )
    {
    	// TODO: Replace the following code with your own drawing code.
    	COLORREF colorBack=TranslateColor(GetBackColor());
    	COLORREF colorFore=TranslateColor(GetForeColor());
         // GetBackColor(),GetForeColor()分别得到背景色和前景色
         // GetBackColor(),GetForeColor()返回类型为OLE_COLOR
         // TranslateColor函数将OLE_COLOR类型转换为COLORREF类型
    
    	CBrush brush(colorBack);
    	pdc->FillRect(rcBounds, &brush);
         //背景色填充整个控件
    	pdc->SetBkMode(TRANSPARENT);
         //设置透明背景色
    	pdc->SetTextColor(colorFore);
         //前景色设置为字体颜色
    	const CString& strCaption = InternalGetText();
         //获得库存属性Caption的值
    	CFont* pOldFont;
    	pOldFont = SelectStockFont(pdc);
         //设备上下文中选择字体对象
    	RECT rect;
    	::CopyRect(&rect,rcBounds);
    	pdc->DrawText(strCaption,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
         //单行,水平居中,垂直居中显示
    	pdc->SelectObject(pOldFont);
    }

      Label控件的制作已经完成了,您可以方便地改变字体的大小、类型、颜色以及控件的背景色。当然,您还可以进一步完善该控件,更加方便您的使用。

    第二部分 在控件中使用自定义的字体(Custom Font)属性

      除了库存字体属性Font外, ActiveX控件还允许使用自定义的字体属性。添加一个自定义字体属性,要完成一个自定义字体属性,你应该首先使用 ClassWizard 添加自定义字体属性,然后对代码作一些修改。下面将描述怎样给一个控件添加自定义属性(假设控件的名字为Sample):
    使用 ClassWizard 添加自定义字体属性

    1. 打开 控件工程,单击View菜单的ClassWizard打开 ClassWizard;
    2. 单击Automation标签;
    3. 单击 Add Property;
    4. 在External name框中,输入属性名(在本例中,假设输入的自定义属性名为HeadingFont);
    5. 在Implementation框中,单击Get/Set Methods;
    6. 在Return Type框中,选择LPFONTDISP作为属性类型;
    7. 单击OK;
    8. 单击OK确认你的选择并关闭ClassWizard;

      ClassWizard 将产生相应的代码把自定义属性HeadingFont添加到CSampleCtrl类中和 SAMPLE.ODL文件中。既然 HeadingFont是一个 Get/Set 属性类型,ClassWizard 修改CSampleCtrl 类的dispatch 映射表来包括一个DISP_PROPERTY_EX 宏入口:

    BEGIN_DISPATCH_MAP(CSampleCtrl, COleControl)
    //{{AFX_DISPATCH_MAP(CSampleCtrl)
    DISP_PROPERTY_EX(CSampleCtrl, "HeadingFont", GetHeadingFont,
       SetHeadingFont, VT_DISPATCH)
    //}}AFX_DISPATCH_MAP
    END_DISPATCH_MAP()      
      DISP_PROPERTY_EX 宏把HeadingFont属性名和它的相应的CSampleCtrl类的Get / Set 方法(GetHeadingFont and SetHeadingFont)联系起来。 ClassWizard 也在控件的头文件(.H)为GetHeadingFont 和 SetHeadingFont函数添加声明 ,并在控件的执行文件(.CPP)添加模板函数:
    LPFONTDISP CSampleCtrl::GetHeadingFont() 
    {
     // TODO: Add your property handler here
     return NULL;
    }
    void CSampleCtrl::SetHeadingFont(LPFONTDISP newValue)
    {
     // TODO: Add your property handler here
     SetModifiedFlag();
    }      
    最后, ClassWizard修改控件的 .ODL 文件,为HeadingFont 属性添加一个入口:
    [id(1)] IFontDisp* HeadingFont;

    修改控件代码

      现在你已经为控件添加了HeadingFont属性,你必须对控件的头文件和执行文件进行修改以完全支持新的属性。在控件的头文件(.H),添加一个protected成员变量的声明:

    protected:
    CFontHolder m_fontHeading;

    在控件的执行文件(.CPP)中,如下操作:在控件的构造函数中初始化 m_fontHeading。

    CSampleCtrl::CSampleCtrl( ) : m_fontHeading( &m_xFontNotification )
    {
        // [...body of constructor...]
    }      
    声明一个静态FONTDESC结构,该结构包含缺省的字体属性。
    static const FONTDESC _fontdescHeading =
      { sizeof(FONTDESC), OLESTR("MS Sans Serif"), FONTSIZE( 12 ), FW_BOLD, 
         ANSI_CHARSET, FALSE, FALSE, FALSE };      
    在控件的DoPropExchange 成员函数,添加一个PX_Font函数的调用,提供自定义字体属性的初始化和持久化。
    void CSampleCtrl::DoPropExchange(CPropExchange* pPX)
    {
       COleControl::DoPropExchange(pPX);
        // [...other PX_ function calls...]
        PX_Font(pPX, _T("HeadingFont"), m_fontHeading, &_fontdescHeading);
    }      
    完成控件的GetHeadingFont成员函数。
    LPFONTDISP CSampleCtrl::GetHeadingFont( )
    {
        return m_fontHeading.GetFontDispatch( );
    }      
    完成控件的SetHeadingFont成员函数
    void CSampleControl::SetHeadingFont( LPFONTDISP newValue )
    {
        m_fontHeading.InitializeFont( &_fontdescHeading, newValue);
        OnFontChanged();    //notify any changes
        SetModifiedFlag( );
    }      
    修改控件的OnDraw成员函数,定义一个变量控制以前选择的字体。
    CFont* pOldHeadingFont;     
    修改控件的OnDraw成员函数,添加下列代码,在设备上下文中选择自定义的字体。
    pOldHeadingFont = SelectFontObject(pdc, m_fontHeading);      
    修改控件的OnDraw成员函数,字体使用完后恢复原字体到设备上下文。
    pdc->SelectObject(pOldHeadingFont);      
    添加标准字体属性页自定义字体属性设置完成后,应添加标准字体属性页,允许控件使用者更改控件当前的字体。为标准字体属性页增加属性页的ID号, 在BEGIN_PROPPAGEIDS宏后添加如下行:
    PROPPAGEID(CLSID_CFontPropPage)      
    完成这些工作后,重新编译工程。

    例程2:Label1.ocx

      例程2的Label1控件与例程1的Label控件在功能实现上没有任何区别,只是在改变字体特性时,不再使用库存字体属性Font,而是使用自定义字体属性CaptionFont。下面我们将结合Label1控件介绍如何在控件中使用自定义属性。
    打开Visual C++ 6.0,按照例程1的操作步骤新建Label1工程,象例程1那样接受所有默认设置, 完成Label1工程创建。如图2-1。


    图2-1

    使用ClassWizard 给控件增加库存属性BackColor,ForeColor,Caption

    1. 单击View菜单的ClassWizard打开 ClassWizard;
    2. 单击Automation标签;
    3. Class Name下拉列表框选择CLabel1Ctrl,单击 Add Property;
    4. 在External name框中,单击BackColor;
    5. 单击OK;
    6. 单击OK确认你的选择并关闭ClassWizard;

      按上述同样操作,添加库存属性ForeColor,Caption。BackColor,ForeColor,Caption这三个属性分别用来设置Label1控件的背景色,前景色和字符串内容。如图2-2。


    图2-2

    使用ClassWizard 给控件增加自定义属性CaptionFont

    1. 单击View菜单的ClassWizard打开 ClassWizard;
    2. 单击Automation标签;
    3. Class Name下拉列表框选择CLabel1Ctrl,单击 Add Property;
    4. 在External name框中,输入自定义属性名CaptionFont;
    5. 在Implementation框中,单击Get/Set methods;
    6. 在Return Type框中,选择LPFONTDISP作为属性类型;
    7. 单击OK;
    8. 单击OK确认你的选择并关闭ClassWizard;

    如图2-3


    图2-3
     

    修改控件代码

    在控件的头文件(Label1Ctl.h),添加一个protected成员变量的声明:

    protected:
    CFontHolder m_fontCaption;

    如图2-4。


    图2-4

    在控件的执行文件(.CPP)中,如下操作:在控件的构造函数中初始化 m_fontCaption。

    CLabel1Ctrl::CLabel1Ctrl(): m_fontCaption(&m_xFontNotification)
    {
      InitializeIIDs(&IID_DLabel1, &IID_DLabel1Events);
      // TODO: Initialize your control''s instance data here.
    }

    声明一个静态FONTDESC结构,该结构包含缺省的字体属性。

    static const FONTDESC _fontdescCaption =
    { sizeof(FONTDESC), OLESTR("MS Sans Serif"), FONTSIZE( 12 ), FW_BOLD, 
    ANSI_CHARSET, FALSE, FALSE, FALSE };

    在控件的DoPropExchange 成员函数,添加一个PX_Font函数的调用,提供自定义字体属性的初始化和持久化。

    void CLabel1Ctrl::DoPropExchange(CPropExchange* pPX)
    {
      ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
      COleControl::DoPropExchange(pPX);
      PX_Font(pPX, _T("CaptionFont"), m_fontCaption, &_fontdescCaption);
    }

    完成控件的GetCaptionFont成员函数。

    LPFONTDISP CLabel1Ctrl::GetCaptionFont() 
    {
      // TODO: Add your property handler here
      return m_fontCaption.GetFontDispatch();
    }

    完成控件的SetHeadingFont成员函数

    void CLabel1Ctrl::SetCaptionFont(LPFONTDISP newValue) 
    {
    	// TODO: Add your property handler here
        m_fontCaption.InitializeFont(&_fontdescCaption,newValue);
    	OnFontChanged();
    	SetModifiedFlag();
    }
    
    修改控件的OnDraw成员函数,
    void CLabel1Ctrl::OnDraw(
    			CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
    {
          // TODO: Replace the following code with your own drawing code.
    	COLORREF colorBack=TranslateColor(GetBackColor());
    	COLORREF colorFore=TranslateColor(GetForeColor());
    	CBrush brush(colorBack);
    	pdc->FillRect(rcBounds, &brush);
         //背景色填充整个控件
    	pdc->SetBkMode(TRANSPARENT);
         //设置透明背景色
    	pdc->SetTextColor(colorFore);
         //前景色设置为字体颜色
    	const CString& strCaption = InternalGetText();
         //获得库存属性Caption的值
    	CFont* pOldFont;
    	pOldFont = SelectFontObject(pdc,m_fontCaption);
         //设备上下文中选择字体对象
    	RECT rect;
    	::CopyRect(&rect,rcBounds);
    	pdc->DrawText(strCaption,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
         //单行,水平居中,垂直居中显示
    	pdc->SelectObject(pOldFont);
    }
    
    添加颜色属性页和字体属性页打开工程的Label1Ctl.cpp文件,将其中的如下代码进行修改:
    BEGIN_PROPPAGEIDS(CLabel1Ctrl, 1)
    	PROPPAGEID(CLabelPropPage::guid)
    END_PROPPAGEIDS(CLabel1Ctrl)
    
    修改后的代码:
    BEGIN_PROPPAGEIDS(CLabel1Ctrl, 3) // 具体个数由实际情况而定
    	PROPPAGEID(CLabel1PropPage::guid)//系统自带的属性页
    	PROPPAGEID(CLSID_CColorPropPage) //加入Color属性页
    	PROPPAGEID(CLSID_CFontPropPage) //加入Font属性页
    END_PROPPAGEIDS(CLabel1Ctrl) 
    
    修改系统自带的属性页

      打开系统自带的属性页资源IDD_PROPPAGE_LABEL1,将静态文本框IDC_STATIC的内容改为"Caption:",添加一个编辑框(Edit Box)控件,控件ID为IDC_CAPTION。如图2-5。


    图2-5

      按下"Ctrl+W"组合键打开ClassWizard,选中Member Variables标签,Class name:下拉列表框选择CLabel1PropPage,Control IDs:选中IDC_CAPTION,单击Add Variable…按钮,弹出Add Member Variable对话框。
      在Add Member Variable对话框中,Member variable name:框输入m_caption,Category选择Value,Variable type:框选择CString,Optional property name:框选择Caption,单击OK按钮。
    再次单击OK按钮关闭ClassWizard。
      上述操作,编辑框IDC_CAPTION与Caption属性之间建立了联系。您可以通过修改编辑框的内容来改变控件Caption的属性值。
    编译并构建Label1.ocx控件。

    展开全文
  • 如何ActiveX控件中显示对话框界面

    热门讨论 2009-06-20 01:10:32
    2、在资源中增加一个对话框,将其属设置为child 和None 3、生成一个基于对话框的类 4、在含有OnDraw函数的类中调用该对话框 先在 *.h文件中定义对话框的类变量 在要调用类的OnCreate函数中添加dlg.Create(IDD_...
  • 这几天因为因为要在网页嵌入ActiveX控件,按照网上的方法使用signtools创建自己的证书可以成功,但是不兼容。只能在较低版本的IE中使用。在网上找了很多资料,终于解决。 1、在www.ca365.com注册免费数字证书,注意...

    这几天因为因为要在网页嵌入ActiveX控件,按照网上的方法使用signtools创建自己的证书可以成功,但是不兼容。只能在较低版本的IE中使用。在网上找了很多资料,终于解决。

    1、在www.ca365.com注册免费数字证书,注意IE的安全等级设置,如果还不成功的话肯呢个你没有将该网站设为信任站点。具体设置在官网上有,内容如下:

    安装了根证书表示你相信这个通过CA认证机构确定的用户身份,即便是对方的身份是知道的,也不能允许他做任何事情,为了更详细的约束网络软件的行为,浏览器设置了一系列安全级别。也就是说,CA证书用来确定对方是谁?浏览器安全级别用来确定用户允许他做什么事情。
       通过执行浏览器的“工具”-“Internet选项”-“安全”可以设置浏览器的安全级别。
       
       浏览器定义了四个安全级别:“Internet”、“本地Intranet”、“可信站点”、“受限站点”。选择“可信站点”,点击“站点”按钮,可定义哪些站点是可信的。添加安全站点的时候,一定要去掉“对该区域中的所有站点要求服务器验证(https:)”选项,添加http://www.ca365.com为安全站点。
       
       浏览器为四种安全级别设置了缺省的安全策略,点击“自定义级别”按钮,可以详细定义安全策略的具体内容,指明哪些操作是被允许的,哪些操作是被禁止的。“禁用”选项会使浏览器阻止某些控件。
       


    2、表格申请免费证书。成功之后下载安装。

    3、用signcode签名即可使用了。

    在申请证书时选择“代码签名证书”。
       
        安装代码签名证书后,可以通过执行浏览器的“工具”-“Internet选项”-“内容”-“证书”-“个人”可以看到你申请的证书。
       
        双击证书查看证书信息,可以看到证书的目的是“确保软件来自软件发行商”和“确保软件在发行后不被修改”。
       
       如果是对需要从网上自动下载安装的ActiveX控件进行签名,必须在ActiveX控件的程序代码中实现“初始化安全”和“脚本安全”两个接口,具体方法可查阅COM有关资料。
        ActiveX控件能否自动下载与“代码签名证书”的有效期有关,当“代码签名证书”失效后,ActiveX控件不能继续下载,但已经下载的ActiveX控件仍然可以继续有效使用,因此,用户应当根据需要确定代码签名证书的有效期(企业证书可以支持最长10年的有效期)。
        首先,下载代码签名工具“signcode.exe”。运行“signcode.exe”。
       
       选择要签名的文件,鼠标单击“下一步”。
       
       鼠标点击击“从存储区选择”。
       
       选择证书。
       
       鼠标单击“下一步”。
       
       输入必要的信息。
       
       如果需要添加时间戳,在“时间戳服务 URL”编辑框中填:“http://timestamp.verisign.com/scripts/timstamp.dll”。然后,按向导提示进行。



    具体步骤参考网站上的用户手册。

    展开全文
  • 此代码显示了如何使用第三方 ActiveX 控件控制 APT Thorlabs 定位系统。 此代码还展示了如何使用 ActiveX 控件和 MATLAB。 似乎 MATLAB 修改了 ActiveX 方法的签名,以便最初通过引用传递的变量包含在函数的输出中...
  • ActiveX控件做为IE浏览器专门一种插件程序,在我们使用IE过程中是会经常遇到的。比如当我们使用网银或支付宝等安全要求比较高的网站,都会提示我们需要安装ActiveX控件。 只有安装ActiveX控件以后我们才能正常...

    ActiveX控件做为IE浏览器专门一种插件程序,在我们使用IE过程中是会经常遇到的。比如当我们使用网银或支付宝等安全要求比较高的网站,都会提示我们需要安装ActiveX控件。

    只有安装ActiveX控件以后我们才能正常登陆这些网站,以及使用这些网站的服务。一般我们安装的ActiveX控件都是带签名的,这种ActiveX控件就表明属于安全的。但是有时候当开发者开发出ActiveX控件时需要进行调试,但是这个时候还没有数字签名时,我们如何才能让IE浏览器安装调用未签名的ActiveX控件呢?这个问题就是本文让跟大家分享的内容。

    我们可以通过下面的方法来进行解决:

    1、首先打开Internet选项,在“高级”菜单中勾选“允许运行或安装软件,即使签名无效”菜单,然后确认保存。

    允许运行或安装软件,即使签名无效

    2、然后在Internet选项中继续切换到“安全”选项卡,单击下面的“自定义级别”,在弹出的菜单中勾选如下选项:

    自定义设置IE的安全级别

    自定义设置IE的安全级别-2

    自定义设置IE的安全级别-3

    3、同样在“安全”选项卡中,选中“受信任的站点”在单击“站点”按钮,然后添加你要访问的网站的地址:

    设置IE受信任的站点

    添加你要访问的网站的地址

    然后重新启动浏览器即可。

    4、如果想删除控件,可以在 C:\Windows\Downloaded Program Files 目录里找到控件,但是删除之前记得先关闭浏览器。

    删除IE的ActiveX控件

    5、如果你是一个普通用户,运行未签名ActiveX的控件会有风险,所以尽量使用已知的安全的控件。

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

    文章引用地址:http://www.iefans.net/ie-diaoyong-weiqianming-activex-kongjian-shezhi-fangfa/ 作者:iefans

    展开全文
  • ...ActiveX控件做为IE浏览器专门一种插件程序,在我们使用IE过程中是会经常遇到的。比如当我们使用网银或支付宝等安全要求比较高的网站,都会提示我们需要安装ActiveX控件。...只有安装ActiveX控件以后我

    转自:http://www.iefans.net/ie-diaoyong-weiqianming-activex-kongjian-shezhi-fangfa/


    ActiveX控件做为IE浏览器专门一种插件程序,在我们使用IE过程中是会经常遇到的。比如当我们使用网银或支付宝等安全要求比较高的网站,都会提示我们需要安装ActiveX控件。

    只有安装ActiveX控件以后我们才能正常登陆这些网站,以及使用这些网站的服务。一般我们安装的ActiveX控件都是带签名的,这种ActiveX控件就表明属于安全的。但是有时候当开发者开发出ActiveX控件时需要进行调试,但是这个时候还没有数字签名时,我们如何才能让IE浏览器安装调用未签名的ActiveX控件呢?这个问题就是本文让跟大家分享的内容。

    我们可以通过下面的方法来进行解决:

    1、首先打开Internet选项,在“高级”菜单中勾选“允许运行或安装软件,即使签名无效”菜单,然后确认保存。

    允许运行或安装软件,即使签名无效

    2、然后在Internet选项中继续切换到“安全”选项卡,单击下面的“自定义级别”,在弹出的菜单中勾选如下选项:

    自定义设置IE的安全级别

    自定义设置IE的安全级别-2

    自定义设置IE的安全级别-3

    3、同样在“安全”选项卡中,选中“受信任的站点”在单击“站点”按钮,然后添加你要访问的网站的地址:

    设置IE受信任的站点

    添加你要访问的网站的地址

    然后重新启动浏览器即可。

    4、如果想删除控件,可以在 C:\Windows\Downloaded Program Files 目录里找到控件,但是删除之前记得先关闭浏览器。

    删除IE的ActiveX控件

    5、如果你是一个普通用户,运行未签名ActiveX的控件会有风险,所以尽量使用已知的安全的控件。


    展开全文
  • 原文地址:VC中如何调试和使用ActiveX控件作者:潇湘浪子 VC中如何调试和使用ActiveX控件    由于控件并不能单独运行,所以你必须利用另一个程序来装载控件并进行调试,VC中提供了ActiveX容器供使用,在工程/...
  • 如何调试和使用ActiveX控件

    千次阅读 2009-09-08 10:04:00
    如何调试和使用ActiveX控件。 由于控件并不能单独运行,所以你必须利用另一个程序来装载控件并进行调试,VC中提供了ActiveX容器供使用,在工程/设置菜单(project/setting)中选择Debug页并选择ActiveX Container。 ...
  • ActiveX 控件导入程序

    热门讨论 2013-06-18 11:02:31
    它知道如何ActiveX 控件通信,但它显示为 Windows 窗体控件。这个生成的控件承载 ActiveX 控件并将其属性、方法和事件公开为生成控件的属性、方法和事件。 如果不包装一下直接用,会出现 灾难性 错误。上面已经...
  • ActiveX控件标记安全(可以不仅仅是MFC ActiveX) 概要 默认情况下,MFC ActiveX 控件未标记为对脚本编写是安全的和对初始化是安全的。控制运行在 Internet Explorer 中使用的安全级别设置为中或高时,这一点很...
  • 3.若要向TreeView控件动态地加入node,对key值该如何设置? 4.当ListView能够多选时,如何得到所选中的总行数(selected count)、第一个及最后一个所选行(selected First ListItem(First))? 5.如何在toolbar...
  • 2、如何安装ActiveX控件? 打开浏览器,选择"工具"下面的"Internet选项"。 选择"安全",单击"自定义级别"按钮。 把"设置"下有关"ActiveX控件"的选项都标为"启用",单击"确定"按钮即可。 3、Windows 7系统下...
  • 制作一个ActiveX控件,在网页中安装加载,然后可以通过javascript访问,设置ActiveX控件中的时间显示; 2.介绍C#如何在ActiveX控件中调用javascript的函数; 3.ActiveX版本更新; 4.测试ActiveX控件在新版操作系统上...
  • 在此,小编就介绍下ActiveX控件的基本操作方法以及如何在VS2010下使用控件,我们以一个程序为例, (1) 打开VS2010编译器(右键以管理员身份运行,因为ActiveX需要注册),选择MFXActiveX控件程序,在名称中输入 ...
  • c# activex控件1

    2013-04-19 15:47:01
    在Visual Studio 2005开发环境中,可以使用Windows控件库项目实现ActiveX控件的开发,但是需要对项目做一些必要的设置。下面就来看看如何使用Windows控件库项目开发一个ActiveX控件。首先创建一个应用程序解决方案,...
  • 设置ie8不能调试activex控件 解决办法: 默认情况下,为了防止程序崩溃,IE会启动2个进程。把IE作为ActiveX的调试程序是无法进行调试。 在注册表HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main ...
  • 各路大神,用c#写了一个控件,同一批机子,都是win7系统,...IE的安全设置设置了,还会有什么因素导致啊,求指导,急急急!!!</p>
  • 但我再VC中直接创建,我不知道如何设置 <param> 就会弹出各种提示,就是告诉你,你需要设置license id bSuccess = m_ctrl.Create(_T("XXXControl"), WS_CHILD|WS_VISIBLE, rect, this, 333); 这句无论...
  • 默认状态下,MFC ActiveX 控件未标记为脚本安全和初始化的安全。当该控件的运行时在 Internet Explorer 中安全级别设置为中等或高,这将成为明显。 中任意一种模式的控件的数据是不安全或控件不是安全的要使用的...
  • C# ActiveX控件的创建和打包

    千次阅读 2017-11-21 13:38:29
    使用C#编写一个ActiveX控件的难点在于如何把DLL及相关文件打包成CAB。参阅了很多资料,有两点感悟: 1.ActiveX控件可以制作测试签名,然而并没什么卵用,除非弄付费的数字签名。现实的解决办法是目标IE添加信任网站...
  • ActiveX控件:可以看做一个极小的服务器应用程序,他不能单独运行,需要嵌入到某个程序中才可以运行,我们可以自己写一个程序来测试自己写的程序(具体方法在下一篇文章阐述),第二种方法是利用VS(本人编译器是VS...
  • ActiveX控件以前也叫做OLE控件或OCX控件,它是一些...在Visual Studio 2008开发环境中,可以使用Windows控件库项目实现ActiveX控件的开发,但是需要对项目做一些必要的设置。下面就来看看如何使用Windows控件库项...
  • 如何用VC写无窗口的ActiveX控件

    千次阅读 2010-04-08 22:36:00
    1、使用MFC ActiveX控件向导创建控件,在“控件设置”这一步,附加功能选“运行时不可见”;2、在C***Ctl类的OnDraw里写入下面的代码。 //限制控件窗口大小 if (rcBounds.Height()!=25 || rcBounds.Width()!=25) ...
  • 在默认的IE安全设置中,“对为标记为可安全执行脚本的ActiveX控件初始化并执行脚本”一项是禁用的,如果修改安全设置为“提示”,在浏览器端就会看下以下windows报警如何ActiveX控件标记为可安全执行呢?...
  • 如何在Internet上发布Activex控件(VB)

    千次阅读 2007-12-29 14:25:00
    Deployment)制作安装包并在向导的脚本安全性、初始化安全性选项页面选择“是”缺点是我们的Activex控件如果没有经过授权,客户的ie会拦截而不进行自动安装这样就需要客户调整IE的安全设置或者将服务器设为安全站点...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 238
精华内容 95
关键字:

如何设置activex控件