c++win32如何绘制文字
时间: 2024-11-12 07:37:16 浏览: 22
在Windows API中,可以使用GDI+(Graphics Device Interface Plus)来在C++ Win32程序中绘制文本。以下是一个简单的示例,展示了如何创建一个设备上下文(DC),选择字体并绘制文本:
```cpp
#include <windows.h>
#include <gdiplus.h>
// 初始化GDI+
#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
int main()
{
// 创建设备上下文
HDC hdc = GetDC(NULL); // 获取屏幕DC
HGDIOBJ oldFont = NULL;
try
{
// 加载字体
FontFamily fontFamily(L"Arial", FontStyleRegular);
Font font(hdc, 12, FontStyleBold); // 设置字体大小和样式
oldFont = SelectObject(hdc, font.GetSafeHandle());
// 绘制文本
StringFormat format;
format.Alignment = StringAlignmentCenter; // 文本居中对齐
format.LineAlignment = StringAlignmentCenter; // 行居中对齐
TextRenderer::DrawText(hdc, L"Hello, World!", -1, &fontFamily, 0, &format);
// 释放资源
font.Release();
SelectObject(hdc, oldFont);
}
catch (Exception& e)
{
MessageBox(NULL, e.Message, L"Error", MB_OK);
}
ReleaseDC(NULL, hdc); // 释放设备上下文
return 0;
}
```
阅读全文