2011-11-11 15 views
15

Używam obu tych funkcji wcześniej, ale nie widzę różnicy między nimi. Cóż, wiem, że DrawText wymaga prostokąta formatowania i może zrobić formatowanie tekstu, a textout tylko współrzędne początkowe, czy są jakieś inne różnice?DrawText VS TextOut Win32

Odpowiedz

16

DrawText

  • Zwraca ciąg tekstowy w regionie prostokąt określony we współrzędnych logicznych.
  • Zapewnia wygodne sposoby formatowania tekstu wielowierszowego.
  • Stosowany jest głównie do formatowania akapitów wordbreaking, rozszerzając zakładki itp

TextOut

  • Jest to prosta funkcja text-rysunek, który jest łatwy w obsłudze.
  • Rysuje ciąg znaków w określonym miejscu, używając aktualnie wybranych atrybutów tekstu.
  • Ciąg tekstowy do rysowania nie musi być zakończony zerem.

Również spojrzeć na ExTextOut i DrawTextEx

+2

Ponadto: DrawText respektuje kerning, a TextOut nie – BeyelerStudios

2

Narysuj tekst może służyć do podania długości lub rozmiaru tekstu bez wyświetlania go. Jest to przydatne, gdy musisz wyrównać maksymalną długość wyświetlania zestawu łańcuchów. Również jeśli podasz ciąg znaków zakończony znakiem zerowym jako dane wejściowe w DrawText, nie musisz podawać długości ciągu znaków - jest on tworzony automatycznie.

Spójrz na this i this.

3

DrawText() jest User32.dll

TextOut() jest Gdi32.dll

DrawText najprawdopodobniej wywołuje TextOut w jego realizacji.