首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

给NewWindow3 加消息映射ON_EVENT 报错解决思路

2012-02-01 
给NewWindow3 加消息映射ON_EVENT 报错ON_EVENT(CDialogCjs, AFX_IDW_PANE_FIRST, DISPID_NEWWINDOW3, New

给NewWindow3 加消息映射ON_EVENT 报错
ON_EVENT(CDialogCjs, AFX_IDW_PANE_FIRST, DISPID_NEWWINDOW3, NewWindow3, VTS_PDISPATCH VTS_PBOOL VTS_I4 VTS_BSTR VTS_BSTR)

错误1error C2440: “初始化”: 无法从“const char [1]”转换为“UINT”*****\client\cg\dialogcjs.cpp42
错误2error C2440: “初始化”: 无法从“const char [6]”转换为“UINT”*****\client\cg\dialogcjs.cpp42
错误3error C2440: “初始化”: 无法从“AFX_PMSG”转换为“UINT_PTR”*****\client\cg\dialogcjs.cpp42
错误4error C2078: 初始值设定项太多*****\client\cg\dialogcjs.cpp42

NewWindow3函数声明如下
void NewWindow3(  
IDispatch **ppDisp, 
VARIANT_BOOL *Cancel, 
DWORD dwFlags, 
BSTR bstrUrlContext, 
BSTR bstrUrl 
) ;

请问是怎么回事儿啊……
之前另一个工程里面用过都是正常的

[解决办法]
CDialogCjs这个类应该是从CHtmlView的派生类
头文件中声明DECLARE_EVENTSINK_MAP()
CPP中实现:

BEGIN_EVENTSINK_MAP(CBrowserHtml, CWeb1800HtmlView)
ON_EVENT(CBrowserHtml, AFX_IDW_PANE_FIRST, 273, NewWindow3, VTS_PDISPATCH VTS_PBOOL VTS_I4 VTS_BSTR VTS_BSTR)
END_EVENTSINK_MAP()
273 就是DISPID_NEWWINDOW3
[解决办法]
CDHtmlDialog应该如下:

C/C++ code
BEGIN_DHTML_EVENT_MAP(CTestDhtmlDlgDlg)DHTML_EVENT(273,  VTS_PDISPATCH VTS_PBOOL VTS_I4 VTS_BSTR VTS_BSTR,OnNewWindow3)END_DHTML_EVENT_MAP()
[解决办法]
探讨

错误1error C2440: “初始化”: 无法从“const char [6]”转换为“LPCTSTR”


但是错误变成这样的了

热点排行