设置NOTIFYICONDATA结构的szTip字段

时间:2011-09-30 20:15:09

标签: c++ winapi icons wchar

szTip字段长128个字符,并且是unicode。它的类型为TCHAR,其类型为WCHAR。所以我不知道为什么以下代码片段无法编译。

nid.szTip = _T("ToolTip");

编译错误是

error C2440: '=' : cannot convert from 'const wchar_t [8]' to 'WCHAR [128]'

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

如果您分配给TCHAR*,您的代码就可以使用。但是,szTip不是TCHAR*,它被声明为TCHAR szTip[64]

因此您需要将字符串的内容复制到缓冲区。像这样:

_tcscpy(nid.szTip, _T("ToolTip"));

您真的需要支持ANSI和Unicode版本吗?如果没有,则停止使用TCHAR并切换到Unicode。然后你可以写一个更易读的版本。

wcscpy(nid.szTip, L"ToolTip");