c++ - 将文本/图像写入 HWND 的最短代码是什么

标签 c++ winapi gdi

我不需要控件或任何东西,我只需要在 HWND 上写一些东西,可以是居中的文本或图像,表明它已被渲染到。实际的用例是我在我还没有准备好处理它的时候通过了一个 HWND,所以我想在它上面显示文本,比如“这个窗口不能使用”,或者一个悲伤的图形等.

没什么特别的,只是原始的 hacky 代码,但您所拥有的只是在纯 Win32 中使用的 HWND。

最佳答案

这实际上相当简单。

// Grab the window dimensions.
RECT bounds;
GetClientRect(hwnd, &bounds);

// Grab a DC to draw with.
HDC hdc = GetDC(hwnd);

// The money shot!
DrawText(hdc, messageText, -1, &bounds, DT_CENTER | DT_VCENTER);

// Now give back the borrowed DC.
ReleaseDC(hdc);

关于c++ - 将文本/图像写入 HWND 的最短代码是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046758/

相关文章:

c++ - 链接到具有不同实现(代码)的同名 DLL 或共享库对象 (so) 的两个插件

c++ - '(' 标记之前的预期构造函数、析构函数或类型转换

c++ - 如何纠正 GDI 资源泄漏?

c++ - 如何提高 DrawDIB 的质量?

c++ - 用 C++ 编写可移植动态加载库的最简单方法是什么?

c++ - boost::interprocess 共享内存 - 仅在一个应用程序中无法读取

c - 为 Win32 重新缓存 - 有人构建过它吗?

c# - 从 UWP 应用程序窗口的 Windows.UI.Core.CoreWindow 获取 win32 消息

winapi - 如何使用VBScript读取内存值?

c# - 为什么需要处理图形?