menu

秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

ActiveX中获取页面参数的方法

Q:
在activeX中如何读取param的值?

A:
使用数据交换的声明。
在ClassWizard中Automation页,添加Property。

或者手动添加Property:
ODL文件中添加

//{{AFX_ODL_PROP(CTestCtrl)
[id(DISPID_READYSTATE), readonly] long ReadyState;
[id(1)] ULONG ID;
[id(2)] BSTR Name;
//}}AFX_ODL_PROP

CTestCtrl.h中添加:

//{{AFX_DISP_ID(CTestCtrl)
dispidID = 1L,
dispidName = 2L,
//}}AFX_DISP_ID

CTestCtrl.cpp中添加:

BEGIN_DISPATCH_MAP(CTestCtrl, COleControl)
//{{AFX_DISPATCH_MAP(CTestCtrl)
DISP_DEFVALUE(CTestCtrl, "ID")
DISP_DEFVALUE(CTestCtrl, "Name")
DISP_STOCKPROP_READYSTATE()
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()

获取页面参数:

void CTestCtrl::DoPropExchange(CPropExchange* pPX) {
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);

PX_ULong(pPX, _T("ID"), m_dwID);
PX_String(pPX, _T("Name"), m_szName);
}

看帖要回帖...

评论已关闭