SetTextJustification
The SetTextJustification
function specifies the amount of space Windows should add to the break
characters in a string of text. The space is added when an application calls
the TextOut
BOOL SetTextJustification(
HDC hdc, |
// handle of device
context |
int nBreakExtra, |
// length of extra
space, in logical units |
int nBreakCount |
// count of space
characters in line of text |
); |
|
Parameters
hdc
Identifies
the device context.
nBreakExtra
Specifies the
total extra space, in logical units, to be added to the line of text. If the
current mapping mode is not MM_TEXT, the value identified by the nBreakExtra
parameter is transformed and rounded to the nearest pixel.
nBreakCount
Specifies the
number of break characters in the line.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
The break
character is usually the space character (ASCII 32), but it may be defined by a
font as some other character. The GetTextMetrics
The TextOut
function distributes the specified extra space evenly among the break
characters in the line.
The GetTextExtentPoint32
SetTextJustification can be used to justify a line that contains multiple
strings in different fonts. In this case, each string must be justified
separately.
Because
rounding errors can occur during justification, Windows keeps a running error
term that defines the current error value. When justifying a line that contains
multiple runs, GetTextExtentPoint automatically uses this error term when
it computes the extent of the next run, allowing TextOut to blend the error
into the new run. After each line has been justified, this error term must be
cleared to prevent it from being incorporated into the next line. The term can
be cleared by calling SetTextJustification with nBreakExtra set
to zero.
See Also