c++ - 删除字体对象

标签 c++ winapi

在用 C/C++ 创建一个简单的 Win32 应用程序后,我向控件发送一条消息,以便使用以下 API 应用一些漂亮的字体:

SendMessage(hwndEdit, WM_SETFONT, WPARAM(hFont), TRUE);

之后是否需要删除这个字体对象?删除在 WM_DESTROY 消息中执行。

case WM_DESTROY:
        DeleteObject(hFont); // Delete font object
        PostQuitMessage(0);
        break;

最佳答案

WM_SETFONT message 的文档似乎很清楚这一点:

The application should call the DeleteObject function to delete the font when it is no longer needed; for example, after it destroys the control.

所以,是的,您应该在创建控件的对象的 WM_DESTROY 处理程序中调用 DeleteObject

关于c++ - 删除字体对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115327/

相关文章:

C++ 等待但允许事件触发

c# - CUDA 驱动程序 API 与 CUDA 运行时

c++ - 如何从ros启动文件获取参数并在Qt中使用它?

c++ - 无法从虚拟键码转换为 unicode

excel - 如何引用所有正在运行的 Excel 应用程序实例的 COM 对象,包括隐藏和没有工作簿?

windows - 用于在 Windows 上监视单个文件 IO 性能的 API

WinAPI:如何获得大写锁定状态?

c++ - 扩展 C++ 类/结构的数据成员的更好方法

c++ - 单击按钮时 QT 消息框不弹出

c++ - 是否有任何版本的 CvBlobs 库可以与 cv::Mat 一起使用?