【发布时间】:2014-03-29 01:53:19
【问题描述】:
我正在编写一段代码,该代码基本上通过多次调用 TextOut 在屏幕上绘制文本。这是一个 C++ Win32 应用程序,我使用的是 Visual Studio 2012。在标记拼写错误等时,如何像 Word 那样绘制波浪下划线?
TEXTMETRIC 有一个名为 tmUnderlined 的成员,它适用于普通下划线文本,但不适用于波浪下划线。我还发现微软的 RichEdit 控件支持波浪下划线,但我也不能用。
当然,我可以使用简单的正弦波创建路径,但在此之前,我想检查是否有更标准的方法来执行此操作。
【问题讨论】:
-
TextOut无法做到这一点。 -
或许还有其他方式?
-
我认为您需要获取文本大小(
GetTextExtentPoint32等)并自己绘制波浪下划线。 -
请参阅此处“如何:实施错误标记”-msdn.microsoft.com/en-us/vstudio/bb166556(v=vs.96)。但正如我们所知,它不再是 Windows API。
-
感谢您的指点。不幸的是,我不明白,这似乎是一个凌乱的文档。我想我会按照建议自己实现它......