如何实施多行工具提示
多行工具提示允许在多行上显示文本。
版本 4.70 及更高版本的通用控件支持这些控件。 应用程序通过发送 TTM_SETMAXTIPWIDTH 消息来创建多行工具提示,从而指定显示矩形的宽度。 超过此宽度的文字会换行到下一行,而不是扩大显示区域。 根据需要增加矩形高度,以容纳额外的线条。 工具提示控件会自动换行,也可以使用回车符/换行符组合 \r\n 在特定位置强制换行。
显示结果如下图所示。
注意
NMTTDISPINFO 结构的 szText 成员指定的文本缓冲区只能容纳 80 个字符。 如果需要使用更长的字符串,请将 NMTTDISPINFO 的 lpszText 成员指向包含所需文本的缓冲区。
需要了解的事项
技术
先决条件
- C/C++
- Windows 用户界面编程
说明
实现多行工具提示
以下代码片段是一个简单的 TTN_GETDISPINFO 通知处理程序示例。 它通过将显示矩形设置为 150 像素来启用多行工具提示。 在第一个单词后插入了一个手动换行符,以指明既可以使用硬换行符,也可以使用软换行符。
case WM_NOTIFY:
{
switch (((LPNMHDR)lParam)->code)
{
case TTN_GETDISPINFO:
LPNMTTDISPINFO pInfo = (LPNMTTDISPINFO)lParam;
SendMessage(pInfo->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 150);
wcscpy_s(pInfo->szText, ARRAYSIZE(pInfo->szText),
L"This\nis a very long text string " \
L"that must be broken into several lines.");
break;
}
break;
}
相关主题