ActiveX中获取页面参数的方法 @ 4/3/2007

技术类
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);
}
发布于 4/3/2007 19:23:31 | 评论:1
看帖要回帖... @ 8/26/2009 15:56:34
看帖要回帖...

看帖要回帖...

categories
archives
links
statistics
  • 网志数:1170
  • 评论数:2013