下面的提示是什么意思 Parsing error : Expected ……?

yueyucanyang 2008-08-02 08:25:02
我在对话框上加了个关于工具栏提示的功能之后,然后想在类视图里添加菜单命令响应,但是却出现如下提示?没有办法添加命令响应,下面的提示是什么意思呢!
Pasing error : Expected ")"
Input Line : "ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0 0XFFFF, OnToolTipText)"
...全文
768 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2008-08-05
  • 打赏
  • 举报
回复
你把自己添加的消息映射项放到//}}AFX_MSG_MAP 这一行下面试试看,其他没什么问题。不过这个逻辑有问题:
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)))
当然事实上运行的时候可能没有出错。
yueyucanyang 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Mackz 的回复:]
你把自己添加的消息映射项放到//}}AFX_MSG_MAP 这一行下面试试看,其他没什么问题。不过这个逻辑有问题:
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->uFlag…
[/Quote]
哥们,你太牛了,果然是这样啊!这是为什么呢?
yueyucanyang 2008-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Mackz 的回复:]
我不知道你怎么出现这个错误的,但是0 0XFFFF这样的格式显然不对,中间缺个逗号。
[/Quote]

我加了工具栏提示的代码,代码如下;加入这个之后出现的问题,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;
}
菜牛 2008-08-03
  • 打赏
  • 举报
回复
我不知道你怎么出现这个错误的,但是0 0XFFFF这样的格式显然不对,中间缺个逗号。
yueyucanyang 2008-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Mackz 的回复:]
缺少右括号“)”。
[/Quote]

我这个不是编译产生的错误,运行什么都一切正常,就是打开某个对话框类视图的时候出现的这样的提示!
thankall 2008-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Mackz 的回复:]
缺少右括号“)”。
[/Quote]
菜牛 2008-08-02
  • 打赏
  • 举报
回复
缺少右括号“)”。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧