【问题标题】:DrawText VS TextOut Win32DrawText VS TextOut Win32
【发布时间】:2011-12-26 18:29:23
【问题描述】:

我发现以前使用过这两个功能,但我不太明白它们之间的区别。嗯,我知道 DrawText 需要一个格式化矩形,并且可以做一些文本格式化,而 textout 只是起始坐标,还有其他的区别吗?

【问题讨论】:

  • 取消链接 TextOut; DrawText 有一个格式标志参数,它可以控制输出文本的行为,例如 DT_NOPREFIX,它转换例如 text = '&R' 输出为 '&R',其中默认情况下在助记符快捷方式(下划线 R)中转换,当用于显示按钮或标签控件。

标签: c++ winapi gdi


【解决方案1】:

DrawText() 是 User32.dll

TextOut() 是 Gdi32.dll

DrawText 最有可能在其实现中调用 TextOut。

【讨论】:

【解决方案2】:

DrawText

  • 它将文本字符串绘制到以逻辑坐标指定的矩形区域中。
  • 它提供了格式化多行文本的便捷方式。
  • 主要用于 断字段落格式、扩展标签等。

TextOut

  • 这是一个简单易用的文本绘图功能。
  • 它使用当前选定的文本属性在指定位置绘制字符串。
  • 文本 要绘制的字符串不需要以零结尾。

另外,看看ExTextOutDrawTextEx

【讨论】:

  • 另外:DrawText 遵守字距调整,而 TextOut 不遵守
【解决方案3】:

绘制文本可用于仅给出文本的长度或大小,而无需实际显示。当您必须微调一组字符串的最大显示长度时,这很有用。此外,如果您在 DrawText 中提供一个以空字符结尾的字符串作为输入,则无需提供该字符串的长度 - 这是自动创建的。

看看thisthis

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    相关资源
    最近更新 更多