在vs2010中添加ActiveX控件的通知特性属性,DoPropExchange下提示重载到的函数不对
// 调度映射//这里添加了控件的公共属性。可以用get/set来获取或设置,例如caption属性
//可以用GetText来获取,用SetText来设置属性
BEGIN_DISPATCH_MAP(CMfcCircleCtrl, COleControl)
DISP_FUNCTION_ID(CMfcCircleCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)
DISP_STOCKPROP_CAPTION()
DISP_STOCKPROP_FORECOLOR()
DISP_STOCKPROP_BACKCOLOR()
DISP_STOCKPROP_FONT()
//自定义添加通知特性的属性
DISP_PROPERTY_NOTIFY_ID(CMfcCircleCtrl, "CircleShape", dispidCircleShape, m_CircleShape, OnCircleShapeChanged, VT_BOOL)
END_DISPATCH_MAP()
void CMfcCircleCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
// TODO: 为每个持久的自定义属性调用 PX_ 函数。
PX_Bool(pPX,"CircleShape",m_CircleShape,TRUE);
}
1> MfcCircleCtrl.cpp
1>d:\activexproject\mfcaxctl\mfccirclectrl.cpp(161): error C2665: “PX_Bool”: 2 个重载中没有一个可以转换所有参数类型
1> c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxctl.h(1429): 可能是“BOOL PX_Bool(CPropExchange *,LPCTSTR,BOOL &,BOOL)”
1> 尝试匹配参数列表“(CPropExchange *, const char [12], BOOL, int)”时
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
求解,谢谢!!!!