注册 登录
编程论坛 VC++/MFC

在vs2010中添加ActiveX控件的通知特性属性,DoPropExchange下提示重载到的函数不对

phqxjwyf 发布于 2011-09-28 09:38, 1960 次点击
// 调度映射
//这里添加了控件的公共属性。可以用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 个 ==========

求解,谢谢!!!!
0 回复
1