网页初始化ATL开发的activex控件属性

C++ ATL组件编译通过之后集成式无法初始化,HRESULT句柄返回为空的情况, 需要Registrar文件手动编辑 苍天呐,写了一个com组件编译通过,MFC测试,编译通过,但是,但是,但是,系统初始化的时候却无法获取com组件句柄,很难受,度妈妈查了两天未果,找人问了一下是rgs的锅,由于编译器闹鬼,没有自动生成rgs文件一次组件并没有注册到系统的注册表里,因此这个时候MFC再去系统里获取com组件的时候肯定找不到啊。因此只能手动编辑rgs文件,然后通过了,通过了。。。。 不多说上代码 MFC调用com组... 阅读详情
 
 如何在web页面中初始化控件的属性呢?此文根据实际例子讲解atl开发的控件其属性的初始化方法,假设属性为StreamUrl。
 
1.class ATL_NO_VTABLE CXXX:
…
//added
public IPersistPropertyBagImpl<CXXX>
 
2.添加属性StreamUrl, 在 idl 文件中对应有
[propget, id(1), helpstring("property StreamUrl")] HRESULT StreamUrl([out, retval] BSTR *pVal);
[propput, id(1), helpstring("property StreamUrl")] HRESULT StreamUrl([in] BSTR newVal);
 
3. BEGIN_PROP_MAP(CXXX)
 PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
 PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
//<<added
 PROP_ENTRY("StreamUrl", 1, CLSID_NULL)
 //>>
 
END_PROP_MAP()
 
 注意在 PROP_ENTRY("StreamUrl", 1, CLSID_NULL) 中的 1为 idl文件中的 id(1),自己作相应的修改。
 
4.    BEGIN_COM_MAP(CXXX)
…
//<<added
COM_INTERFACE_ENTRY(IPersistPropertyBag)
//>>
END_COM_MAP()
 
 5.在类CXXX中添加变量如下:
BOOL m_bRequiresSave; // 这是 IPersistPropertyBagImpl 需要的
CComBSTR m_bstrUrl;
并初始化m_bRequiresSave为false。
 6.
 
STDMETHODIMP CXXX::get_StreamUrl(BSTR *pVal)
{
*pVal = m_bstrUrl.Copy(); //如果是*pVal = m_bstrUrl,会造成ie崩溃
 return S_OK;
}
 
STDMETHODIMP CXXX::put_StreamUrl(BSTR newVal)
{
//如果直接m_bstrUrl = newVal,会造成ie崩溃
 m_bstrUrl.Empty(); 
m_bstrUrl = newVal;
 return S_OK;
}
 
7.网页中
<PARAM name="StreamUrl" value="http://www.shengfengtech.com">
 
如何在C++ Builder 2010中编写“安全”的Activex控件 在默认的IE安全设置中,“对为标记为可安全执行脚本的ActiveX控件初始化并执行脚本”一项是禁用的,如果修改安全设置为“提示”,在浏览器端就会看下以下windows报警如何把ActiveX控件标记为可安全执行呢?查了下MSDN,发现只要实现IObjectSafetyImpl就行了。具体如下操作:1.新建ActiveX工程系统自动生成以下文件2.新增com事务对象(如果控件需要窗体界面的话,可以选择Active Form)生成Unit1.cpp和Unit1.h文件,存放的是myTest的申明以及具体实现3. 阅读详情

相关推荐

通达信股本变迁文件(gbbq)解密方法

近年来A股市场跌宕起伏真特么精彩,本人愚钝,被整爆仓,损失惨重 痛定思痛,认为交易这种对纪律要求极高,且必须完全排除情绪影响的勾当,还是应该交给程序来干 数据哪里来呢?当然是拿来主义。。。问券商的交易软件要呗 到处查资料,得知通达信的权息文件数据齐全,不仅含有除权除息数据,还含有限售解禁、增发、可转债上市等股本变化数据 ——这对于某些对成交量变化敏感的交易模型是非常重要的

不甘碌碌老,结庐铸宝刀 2万+

使用ATL创建窗口的步骤

1、定义ATL的全局对象CAppModule _module; 2、初始化COM组件:CoInitialize和CoUninitialize; 3、初始化COM模块_module.Init() 代码如下:     HRESULT hRes = ::CoInitialize(NULL);     ATLASSERT(SUCCEEDED(hRes));     hRes =

物知馆 3239

单细胞转录组数据分析全流程:从原始数据到细胞注释

本文详细介绍了单细胞转录组数据分析的全流程,从原始数据读取、环境搭建、数据质控与标准化,到降维聚类、细胞类型注释,以及高级质控与多样本整合。重点阐述了如何利用Seurat等工具进行数据处理,并通过标志基因比对与自动注释方法完成细胞身份鉴定,为研究者提供了一套清晰、可操作的分析指南。

coffee的博客 553

ATL持续化之IPersistPropertyBag

浅谈ATL中关于对象持续性  com对于对象持续性并没有什么规定和支持。但是com提供了一些协议,利用这些协议就可以使用对象的持续性。  在ATL中,提供了一系列介质接口IMedia,用于对象持续性支持。例如IStream  IStrorage IPropertyBag。为什么为了一个持续性提供三个接口呢?这是因为存在这样的一个事实:com组件容器并不知道用户想要保存对象信息到何处:网络流?

AmoyCHC的专栏 1498

【24届计算机校招】面经汇总

这是笔者为了能够记录一下接下来一段时间会看的一些博客视频等汇总。一是为了汇总后常回来看看,而是为了后面的人在这个阶段准备的时候有个参考。现在已经6月底了,大部分高校的夏令营都出来了,而我至今还是夏0营,前几天还为川大会收双非而感到高兴,但遗憾的是川大并没要我。而我另一位双非的朋友已经拿到offer,在决定去南开还是华师了。没有对比就没伤害,我开始怀疑自己的决策是否正确——这段时间的夏令营我都有关注,但我仅报了少部分的几个酒吧舞,而没有选择海投,我觉得只要我认准了一个东西,我拼尽全力就一定能够获取到。

JehanRio's Private Blog 804

免费大容量国外网盘测评:冷数据归档与rclone加密接入

云存储的本质,是通过对象存储、冗余编码和分层缓存,把本地磁盘容量问题转化为网络访问与数据管理问题。免费大容量国外网盘常以空间换用户规模或付费转化,容量政策、传输策略、协议支持和退出成本,往往比标称容量更决定长期可用性。支持 WebDAV、S3 兼容和命令行工具的服务,可接入 rclone 等自动化流程,再配合客户端加密与冷热分层,用于冷数据归档、老项目备份和家庭影像保存。理解带宽换算、单文件上限、保活机制与传输一致性后,评估话题型大容量网盘与专业向协议网盘,就能把免费空间纳入可靠存储层。围绕免费大容量国外网

weixin_31292729的博客 213

页面中ActiveX控件初始化时崩溃的解决办法

1.      问题描述: 最近做一个项目,需要将一个基于MFC的ActiveX嵌入到网页中。在嵌入过程中出现了这样一种情况:在Debug模式下,先执行OnCreate(),再执行对外的接口函数fun()(此函数页面会调用,函数内部会用到窗口句柄);在Release模式下,却先调用fun(),后调用OnCreate()。在Release横式下页面会崩溃,一时难以找到解决办法。后来在网上找了一些资

zt的笔记本 2826

python模拟银行交易流水

模拟自动生成银行交易流水,其中包括:入账账号、出账账号、交易金额、交易余额、交易时间、出入表示关键字段

qq_31823889的博客 2910

ActiveX控件重构

【前言】使用Delphi和VB的好处就是拖拉控件。使用方便。    我就一直和奇怪,这个功能vc也有,但是为什么他不扩展呢 ?在编写MFC应用程序的时候,我们就可以拖拉几个简单的控件,例如:输入框,静态文本,树型图,等等。而他也提供给我们程序员来自己编写控件的功能。但是终究他还是牵拉着MFC这个东东,显得很累赘。所以被部分程序员所不屑。    现在有个方法,可以不用MFC的库,也可以使

jhui163的专栏 1266

排队论 | 排队论建模方法

排队论 | 排队论建模方法

算法如诗的博客 353

Test软件:Keysight二次开发_(1).Keysight软件开发概述

VISA(Virtual Instrument Software Architecture)库是Keysight提供的一种标准化的仪器控制接口,支持多种编程语言和开发环境。仪器通信:通过GPIB、USB、以太网等接口与仪器进行通信。数据采集:从仪器中获取测量数据。命令发送:向仪器发送控制命令。错误处理:处理通信过程中可能出现的错误。测试自动化是指通过编写脚本或程序来自动执行测试任务,从而提高测试效率和减少人为错误。Keysight的测试设备和仪器支持多种编程语言和开发环境,使得测试自动化变得相对容易。

2401_87715305的博客 1359

把程序嵌入网页之ATL编写ActiveX[标准窗口+接受参数]

图文并茂的演示了如何使用ATL开发ActiveX控件,支持网页传参,具有独立窗口,可以像编写普通界面程序那样来编写网页控件。

SomeTimes 6774

点云从入门到精通技术详解100篇-基于点云语义分割的电力线提取及聚类研究

在现代社会,电力一直扮演着最重要的角色之一。它不仅与人民的生活息息相关,更是一个国家发展的命脉。近年来,随着我国各特高压输电线路建成(比如2022年1月份白鹤滩江苏特高压输电线路的放线)以及电网规模的不断扩大,我国年发电量稳步上升,人民的生活水平越来越高。我国土地辽阔,输电线路分布广泛,再加上地形环境复杂多样,电力线可能遭受风吹雨晒甚至是冰雪寒灾的影响。因此,为了保障电力线的可靠供电,防止停电意外发生,电力部门要定期对输电线路进行检查。目前我国主要。

getusushu的博客 1010

ATL、ActiveX、OLE及组件之间的关系

ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用程序进行通

gooer的专栏 1251

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[activeX]VC2005开发MFC ActiveX ocx控件全过程[转]

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂

柠檬加冰 4044

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MFC ActiveX 控件

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,它支持广泛的 OLE 功能并可自定义以满足多种软件的需要。ActiveX 控件旨在用于普通的 ActiveX 控件容器和 Internet 上的万维网页。您既可以用此处介绍的 MFC 也可以用活动模板库 (ATL)来创建 ActiveX 控件。ActiveX 控件可以在自己的窗口中对自身进行描述,对事件(如单击鼠标)做出响应

Tunix126的专栏 2547

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ATL、ActiveX、OLE及组件之间的关系 .

ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用程序进行通信的

playStudy的专栏 782

Activex感知网页关闭事件

概述IE直到控件第一次可见的时候才创建ActiveX控件,调用WM_CREATE的处理代码。在离开或者关闭页面的时候也没有调用WM_DESTORY的处理代码。在控件大小是0*0的时候也有同样的问题。如果你在这之前(例如window.onload事件的处理代码中)访问控件的窗口或者子窗口,那么不会成功。原因大多数ActiveX控件框架,例如MFC和ATL,在本地激活ActiveX控件时创

闻道有先后,术业有专攻,如是而已。 4908

ActiveX控件中访问文档对象模型

知识库文章Q172763   INFO:   Accessing   the   Object   Model   from   Within   an   ActiveX   Control   描述了这个问题的解决方案。可以看到,可以同样使用IOleClientSite来和IE这个控件容器交互。可以使用IOleClientSite::GetContainer得到网页所在HTML文档对象的IOl

adamchao的专栏 936

GPU微架构代际判定:从性能仿真到全流程验证的实战指南

GPU微架构设计不是画框图那么简单,判断一次迭代是否算“新一代”,需要从数据通路、执行模型与瓶颈性质三个维度拆解结构性变化。在GPU芯片研发中,性能仿真和RTL验证贯穿始终:功能仿真先证明逻辑正确,周期级性能模型则要逐周期对账,衡量IPC、调度器效率与访存带宽利用率。面对IPC提升时,不能只看绝对值,还要拆解收益来源,并综合考虑能效比和面积开销。工程实践中,判定标准需覆盖计算密集与访存密集、高占用率与低占用率等多元负载组合,避免局部优化反噬全局。从构建校准基线模型到全负载回归,仿真验证既是架构决策的核心依据

weixin_33805743的博客 374

ATL建立ActiveX控件(三)

示例代码http://download.youkuaiyun.com/source/1458175控件在使用时会遇到很多的问题所以进行控件编程要有耐心,我把我遇到的问题简单说一下:     一、控件的安全描述问题但是我们在运行这个控件时是不是要弹出一个叫什么不安全交互的对话框呀,就是这个这个很烦人呢,通常当我们把这个网页放在网站上运行时第一个对话框就不会弹了,但是第二个这样去不掉的,这主要

markstudio的专栏 1970

ActiveX控件嵌入网页,关闭网页时报错的问题

http://community.youkuaiyun.com/Expert/topic/3160/3160265.xml?temp=.5274317出现你说的问题,一般来说是指针问题,很可能是资源没安全释方你可以跟一下,是否到了 FinalRelease, 如果没到这里,那需要你在 IOleObject_Close release 接口(接口交叉引用造成不能释放),最终达到资源安全是否的目的AT

无限天空 6294

VC系列---基于VC++中ATL创建ActiveX控件的探讨

引言   ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用...

weixin_30570101的博客 182
上一篇: VC个性化窗口界面设计
下一篇: WM_PAINT与WM_ERASEBKGND
World7th
博客等级 码龄23年 13粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值