This function retrieves the number of characters in a specified string that fit within a specified space and fills an array with the text extent for each of those characters. A text extent is the distance between the beginning of the space and a character that fits in the space.
BOOL GetTextExtentExPoint( HDC hdc, LPCTSTR lpszStr, int cchString, int nMaxExtent, LPINT lpnFit, LPINT alpDx, LPSIZE lpSize );
[in] Handle to the device context (DC).
[in] Long pointer to the null-terminated string for which you want to retrieve text extents.
[in] Integer that specifies the number of characters in the string to which the lpszStr parameter points.
[in] Integer that specifies the maximum allowable width, in logical units, of the formatted string.
[out] Long pointer to an integer that receives a count of the maximum number of characters that fit in the space specified by the nMaxExtent parameter. When the lpnFit parameter is NULL, GetTextExtentExPoint ignores the nMaxExtent parameter.
[out] Long pointer to an array of integers that receives partial string extents. Each element in the array gives the distance, in logical units, between the beginning of the string and one of the characters that fits in the space specified by the nMaxExtent parameter. Although this array should have at least as many elements as characters specified by the cchString parameter, the function fills the array with extents only for as many characters as are given by the lpnFit parameter. If alpDx is NULL, the function does not compute partial string widths.
[out] Long pointer to a SIZE structure that contains the dimensions of the string, in logical units, when the function returns. This value cannot be NULL.
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
If both the lpnFit and alpDx parameters are NULL, calling the GetTextExtentExPoint function is equivalent to calling the GetTextExtentPoint function.