为什么Unicode的程序里收到的是TTN_GETDISPINFOA而不是TTN_GETDISPINFOW?

miky 2009-09-26 01:25:28
系统:WindowsXP SP3
开发工具: VC2008 试用版

想在窗口做个Tooltip, 代码如下:

void  CreateToolTip()
{
TiphWnd = CreateWindowEx(WS_EX_TOOLWINDOW,TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_NOPREFIX | TTS_BALLOON | TTS_ALWAYSTIP, 0, 0, 0, 0, g_CalendarhWnd, 0, hInst, NULL);
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_SUBCLASS | TTF_TRANSPARENT;
ti.hwnd = g_CalendarhWnd;
ti.lpszText = LPSTR_TEXTCALLBACK;
ti.uId = (UINT_PTR)g_hWnd;

SendMessage(TiphWnd, TTM_SETTITLE, 0, LPARAM(szTitle));
SendMessage(TiphWnd, TTM_ADDTOOL, 0, LPARAM(&ti));
}


case WM_NOTIFY:
{
if (((LPNMHDR)lParam)->code == TTN_GETDISPINFOA)
{
//为什么收到的是TTN_GETDISPINFOA而不是TTN_GETDISPINFOW?
}
}
break;

发现在窗口的WM_NOTIFY里收到的是TTN_GETDISPINFOA而不是TTN_GETDISPINFOW? 整个程序默认是UNICODE的。
...全文
211 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AldisZhan 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liu15140544 的回复:]
上海 -我这边有c++的职位,有兴趣的加msn:fbc.ivan@live.cn


客户端高级开发工程师

任职要求:

1、本科及以上学历,计算机相关专业,两年以上C++开发经验;
2、精通Windows下的Socket编程;
3、熟悉主流操作系统Symbian、Windows Mobile等的应用开发;
4、了解SIP、RTP、RTCP协议和G711,G729等语音编解码者优先考虑;
5、积极进取,工作严谨,责任心强;
6、有良好的团队协作意识,善于协作与沟通,并能够承受一定的工作压力。
[/Quote]
又是AD 举报给分不
anhongsen521 2009-09-29
  • 打赏
  • 举报
回复
加油
problc 2009-09-29
  • 打赏
  • 举报
回复
难道是bug
miky 2009-09-26
  • 打赏
  • 举报
回复
只能收到一个TTN_GETDISPINFOA,很奇怪。

而且这个消息是管用的, 设置((LPNMTTDISPINFOA)lParam)->lpszText 能正常显示,只是不能用Unicode了。

我在WM_MOUSEMOVE里调用了SendMessage(TiphWnd, TTM_SETTOOLINFO, 0, LPARAM(&ti))就会出现这个问题。

我改成SendMessage(TiphWnd, TTM_NEWTOOLRECT, 0, LPARAM(&ti))之后就可以正确收到TTN_GETDISPINFOW了。

很复杂,不明白是什么原因。整个程序都是UNICODE的,没有ANSI的字符串。 所有的函数都是UNICODE的。
miky 2009-09-26
  • 打赏
  • 举报
回复
只能收到一个TTN_GETDISPINFOA,很奇怪。
WaistCoat15 2009-09-26
  • 打赏
  • 举报
回复
那你测试下是不是同时能收到TTN_GETDISPINFOA和TTN_GETDISPINFOW?
miky 2009-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 waistcoat15 的回复:]
szTitle是什么类型?
[/Quote]

Unicode的程序,所有字符串都是TCHAR, 要不通不过编译的。
WaistCoat15 2009-09-26
  • 打赏
  • 举报
回复
szTitle是什么类型?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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