This documentation is archived and is not being maintained.


Call this member function to write a character string at the specified location, expanding tabs to the values specified in the array of tab-stop positions.

virtual CSize TabbedTextOut(
   int x,
   int y,
   LPCTSTR lpszString,
   int nCount,
   int nTabPositions,
   LPINT lpnTabStopPositions,
   int nTabOrigin 
CSize TabbedTextOut(
   int x,
   int y,
   const CString& str,
   int nTabPositions,
   LPINT lpnTabStopPositions,
   int nTabOrigin 



Specifies the logical x-coordinate of the starting point of the string.


Specifies the logical y-coordinate of the starting point of the string.


Points to the character string to draw. You can pass either a pointer to an array of characters or 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 values in the array of tab-stop positions.


Points to an array 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.


Specifies the x-coordinate of the starting position from which tabs are expanded (in logical units).


A CString object that contains the specified characters.

The dimensions of the string (in logical units) as a CSize object.

Text is written in the currently selected font. If nTabPositions is 0 and lpnTabStopPositions is NULL, tabs are expanded to eight times the average character width.

If nTabPositions is 1, the tab stops are separated by the distance specified by the first value in the lpnTabStopPositions array. If the lpnTabStopPositions array contains more than one value, a tab stop is set for each value in the array, up to the number specified by nTabPositions. The nTabOrigin parameter allows an application to call the TabbedTextOut function several times for a single line. If the application calls the function more than once with the nTabOrigin set to the same value each time, the function expands all tabs relative to the position specified by nTabOrigin.

By default, the current position is not used or updated by the function. If an application needs to update the current position when it calls the function, the application can call the SetTextAlign member function with nFlags set to TA_UPDATECP. When this flag is set, Windows ignores the x and y parameters on subsequent calls to TabbedTextOut, using the current position instead.