给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应该如下:
BEGIN_DHTML_EVENT_MAP(CTestDhtmlDlgDlg)DHTML_EVENT(273, VTS_PDISPATCH VTS_PBOOL VTS_I4 VTS_BSTR VTS_BSTR,OnNewWindow3)END_DHTML_EVENT_MAP()
[解决办法]