c - 使用 TextOut 函数打印新行

标签 c winapi

我正在尝试使用 TextOut 函数打印一个新行。

我试过了

TextOut(hDC, 10, 20, "Hello\nWorld", strlen(text));

但输出是“HelloWorld”。

如何使用 TextOut 打印新行?

最佳答案

简单。 TextOut 没有任何格式化功能。请改用 DrawText。请参阅格式化标志以居中文本、计算矩形等。您不必使用 DT_EDITCONTROL 标志来完成 DrawText 格式化。例如,

HDC dc = ::GetDC(0);
RECT rc;
char *lpsz= "Hello\r\nWorld";
::SetRect(&rc,0,0,300,300);
::DrawText(dc,lpsz,::strlen(lpsz),&rc,DT_LEFT | DT_EXTERNALLEADING | DT_WORDBREAK);
::ReleaseDC(0,dc);

关于c - 使用 TextOut 函数打印新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123343/

相关文章:

winapi - 如何以编程方式检索 Windows XP 上默认音频输入设备的名称?

c - 我无法确定它是否是素数

使用指针创建二维数组

c - 运行代码时出错 - 从整数生成指针而不进行强制转换

C# P/Invoke Win32 函数 RegQueryInfoKey

c++ - GetModuleHandle(NULL) 与 hInstance

c - 释放动态分配的数组是否与释放链表相同?

c - 如何从结构中打印一个字符

c++ - 在 WC_TABCONTROL 中渲染 OpenGL Canvas

windows - 管理无客户区