2011-11-11 24 views
15

Creo que he usado estas dos funciones antes, pero no veo la diferencia entre ellas. Bueno, sé que DrawText requiere un rectángulo de formateo, y puede hacer algo de formateo de texto, y escribir solo las coordenadas iniciales, ¿hay alguna otra diferencia?DrawText VS TextOut Win32

Respuesta

16

DrawText

  • Se dibuja una cadena de texto en una región rectángulo especificado en coordenadas lógicas.
  • Proporciona formas convenientes de formatear texto multilínea.
  • Se utiliza principalmente para el formato de párrafo wordbreaking, la expansión de las lengüetas etc.

TextOut

  • Es una simple función de texto de embutición que es fácil de usar.
  • Dibuja una cadena de caracteres en una ubicación específica, utilizando los atributos de texto seleccionados actualmente.
  • El texto cadena para dibujar no necesita terminarse en cero.

También, echar un vistazo a ExTextOut y DrawTextEx

+2

Además: DrawText respeta el kerning, mientras que TextOut no lo hace – BeyelerStudios

2

El texto del dibujo se puede utilizar para dar la longitud o el tamaño del texto sin mostrarlo. Esto es útil cuando tiene que ajustar la longitud máxima de visualización de un conjunto de cadenas. Además, si proporciona una cadena terminada nula como entrada en DrawText, no es necesario proporcionar la longitud de la cadena, que se crea automáticamente.

Eche un vistazo a this y this.

3

DrawText() es User32.dll

TextOut() es Gdi32.dll

DrawText es más probable llama TextOut en su aplicación.