c++ - 如何在调整窗口大小时使文本显示在窗口中央,visual c++

标签 c++ visual-studio-2013 resize window textout

所以我得到了这段代码:

{
    PAINTSTRUCT ps;
    HDC hdc;

switch (message)
{
case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    TextOut(hdc,
        100, 55, TEXT("some text here"), 50
        );

    EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
    PostQuitMessage(0);
    break;
default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    break;
}

如何在调整窗口大小时使文本显示在中心?

最佳答案

调用 GetClientRect 获取窗口尺寸。做一些数学运算以获得中心坐标。如果您还使用 TA_CENTER 调用 SetTextAlign 以使用文本中心点作为您提供给 TextOut 的坐标,将会更容易。

关于c++ - 如何在调整窗口大小时使文本显示在窗口中央,visual c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596161/

相关文章:

visual-studio-2013 - Visual Studio 2013 与 Web Essentials 不断崩溃

visual-studio-2010 - Visual Studio 2013,错误代码 MSB4175

安卓 : Showing keyboard hides listview contents

java - 我如何访问本地文件系统的资源并从浏览器操作它们

c++ - 将 Makefile 转换为 CMakeLists.txt

c++ - std::set 中包含 std::map 的迭代器

c++ - 从 QGraphicsScene 移除 Qpixmap

c++ - 如何将 C++ 插件安装到 Eclipse?

编译 64 位 C dll

jquery - 如何检测窗口大小调整时的扩展或收缩?