ATL开发的控件如何获取网页中的参数

现以 需要提取参数 MyURL 为例:

1.     class ATL_NO_VTABLE CXXX: 

...

public IPersistPropertyBagImpl<CXXX>

2. 添加属性,MyURL, 在 idl 文件中对应有

[propget, id(16), helpstring("property MyURL")] HRESULT MyURL([out, retval] BSTR *pVal);
  [propput, id(16), helpstring("property MyURL")] HRESULT MyURL([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)

 PROP_ENTRY("MyURL", 16, CLSID_NULL)

 // Example entries
 // PROP_ENTRY("Property Description", dispid, clsid)
 // PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

 注意在 PROP_ENTRY("MyURL", 16, CLSID_NULL) 中的 16为 idl中的 id(16),自己的对应作修改

4。添加类变量 BOOL    m_bRequiresSave; // 这是 IPersistPropertyBagImpl 需要的

CComBSTR m_bstrMyUrl;

5. STDMETHODIMP CXXX::get_MyURL(BSTR *pVal)
{
 // TODO: Add your implementation code here
 *pVal = m_bstrMyUrl.Copy();
 return S_OK;
}

STDMETHODIMP CXXX::put_MyURL(BSTR newVal)
{
 // TODO: Add your implementation code here
 m_bstrMyUrl.Empty();

m_bstrMyUrl = newVal;
 return S_OK;
}

6.网页中

<PARAM name="MyURL" value="http://www.softwife.com">

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值