我正在创建一个窗口,其中打开一个动态标题。如果窗口被调整大小,并且没有空间显示完整的标题,我希望窗口的标题被截断。
例如,我有
HWND handle = GetHWND(); // gets me the correct handle
std::wstring title = L"some fairly long window title";
SetWindowTextW(handle, title.c_str());有没有一种方法可以自动截断HWND标题,或者另一种方法可以获得标题文本的像素宽度,这样如果窗口缩小,我就可以手动设置标题?
发布于 2010-08-18 06:22:13
可以通过GetTextExtentPoint32函数获取绘制到给定设备上下文(HDC)的字符串的宽度。
发布于 2010-08-18 16:51:21
与通过SetWindowText设置文本不同,respond to WM_GETTEXT.两者是相关的: DefWindowProc通过返回您之前使用SetWindowText设置的值来响应WM_GETTEXT。
现在,当您收到WM_GETTEXT消息时,您可以返回适当的文本,同时考虑到当前的宽度。
https://stackoverflow.com/questions/3507442
复制相似问题