2011-11-11 183 views
15

我發現以前都使用過這兩個函數,但我不太明白它們之間的區別。那麼,我知道DrawText需要一個格式化的矩形,並且可以進行一些文本格式設置,並且只輸出起始座標,還有其他區別嗎?DrawText VS TextOut Win32

回答

16

DrawText

  • 它繪製文本字符串轉換成邏輯座標指定的矩形區域中。
  • 它提供了格式化多行文字的便捷方式。
  • 它主要用於 wordbreaking段落格式,擴大標籤等

TextOut

  • 這是一個簡單的文本,繪圖功能,易於使用。
  • 它使用當前選定的文本屬性在指定位置繪製字符串。
  • 文字 要繪製的字符串不需要被零終止。

而且,看看ExTextOutDrawTextEx

+2

另外:DrawText尊重字距,TextOut不尊重 – BeyelerStudios

2

繪製文本可以用來給出文本的長度或大小而不實際顯示它。當你必須修改一組字符串的最大顯示長度時,這非常有用。另外,如果您在DrawText中提供以null結尾的字符串作爲輸入,則不需要提供字符串的長度 - 這是自動創建的。

看看thisthis

3

DrawText()是User32.dll中

TextOut()是GDI32.DLL

DrawText的是最有可能在其實現調用的TextOut。