我在对话框上加了个关于工具栏提示的功能之后,然后想在类视图里添加菜单命令响应,但是却出现如下提示?没有办法添加命令响应,下面的提示是什么意思呢!
Pasing error : Expected ")"
Input Line : "ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0 0XFFFF, OnToolTipText)"
Pasing error : Expected ")"
Input Line : "ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0 0XFFFF, OnToolTipText)"
我加了工具栏提示的代码,代码如下;加入这个之后出现的问题,0 0XFFFF写错了,应该有个逗号,这你都看出来了,佩服!添加了这个代码之后,右击类CUwtNetSimDlg添加消息处理或者虚函数的时候就会出现上面的提示。让后无法添加消息处理和虚函数,同样,在view的类视图里面也不能选择这个对话框,也出同样提示。程序可以运行,工具栏的提示也有,但是就是有上面的问题。
BEGIN_MESSAGE_MAP(CUwtNetSimDlg, CDialog)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipText) ON_COMMAND(IDM_TSK_NEW, OnTskNew)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()类的保护成员
protected:
afx_msg void OnContextMenu(CWnd*, CPoint point);
HICON m_hIcon;
CImageList m_imgList;//存储工具栏图标列表
// Generated message map functions
afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()BOOL CUwtNetSimDlg::OnToolTipText(UINT , NMHDR* pNMHDR, LRESULT* pResult)
{
ASSERT(pNMHDR->code == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW); // if there is a top level routing frame then let it handle the message
if (GetRoutingFrame() != NULL) return FALSE; // to be thorough we will need to handle UNICODE versions of the message also !!
TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
// TCHAR szFullText[512];
CString strTipText;
UINT nID = pNMHDR->idFrom; if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
} if (nID != 0) // will be zero on a separator
{
// AfxLoadString(nID, szFullText);
strTipText.LoadString(nID);
// strTipText=szFullText;#ifndef _UNICODE
if (pNMHDR->code == TTN_NEEDTEXTA)
{
lstrcpyn(pTTTA->szText, strTipText, sizeof(pTTTA->szText));
}
else
{
_mbstowcsz(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
}
#else
if (pNMHDR->code == TTN_NEEDTEXTA)
{
_wcstombsz(pTTTA->szText, strTipText,sizeof(pTTTA->szText));
}
else
{
lstrcpyn(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
}
#endif *pResult = 0; // bring the tooltip window above other popup windows
::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0,
SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER);
return TRUE;
} return FALSE;
}
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ¦¦
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
应该是:
if ((pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND)) ¦¦
(pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND)))
当然事实上运行的时候可能没有出错。