Call this member function to compute the width and height of a character string using m_hDC, the output device context.
CSize GetOutputTabbedTextExtent( LPCTSTR lpszString, int nCount, int nTabPositions, LPINT lpnTabStopPositions) const;CSize GetOutputTabbedTextExtent( const CString& str, int nTabPositions, LPINT lpnTabStopPositions) const;
Points to a character string to be measured. You can also pass a CString object for this parameter.
Specifies the number of characters in the string. If nCount is –1, the length is calculated.
Specifies the number of tab-stop positions in the array pointed to by lpnTabStopPositions.
Points to an array of integers containing the tab-stop positions in logical units. The tab stops must be sorted in increasing order; the smallest x-value should be the first item in the array. Back tabs are not allowed.
A CString object that contains the specified characters to be measured.
If the string contains one or more tab characters, the width of the string is based upon the tab stops specified by lpnTabStopPositions. The function uses the currently selected font to compute the dimensions of the string.
The current clipping region does not offset the width and height returned by the GetOutputTabbedTextExtent function.
Since some devices do not place characters in regular cell arrays (that is, they kern the characters), the sum of the extents of the characters in a string may not be equal to the extent of the string.
If nTabPositions is 0 and lpnTabStopPositions is NULL, tabs are expanded to eight average character widths. If nTabPositions is 1, the tab stops will be separated by the distance specified by the first value in the array to which lpnTabStopPositions points. If lpnTabStopPositions points to more than a single value, a tab stop is set for each value in the array, up to the number specified by nTabPositions.