Graphics.MeasureString(const WCHAR*, INT, const Font*, const RectF, const StringFormat*, RectF*, INT*, INT*) method

Applies to: desktop apps only

The Graphics::MeasureString method measures the extent of the string in the specified font, format, and layout rectangle.


Status MeasureString(
  [in]       const WCHAR *string,
  [in]       INT length,
  [in]       const Font *font,
  [in, ref]  const RectF &layoutRect,
  [in]       const StringFormat *stringFormat,
  [out]      RectF *boundingBox,
  [out]      INT *codepointsFitted,
  [out]      INT *linesFilled
) const;


string [in]

Type: const WCHAR*

Pointer to a wide-character string to be measured.

Important  For bidirectional languages, such as Arabic, the string length must not exceed 2046 characters.

length [in]

Type: INT

Integer that specifies the number of characters in the string array. The length parameter can be set to –1 if the string is null terminated.

font [in]

Type: const Font*

Pointer to a Font object that specifies the family name, size, and style of the font to be applied to the string.

layoutRect [in, ref]

Type: const RectF

Reference to the rectangle that bounds the string.

stringFormat [in]

Type: const StringFormat*

Pointer to a StringFormat object that specifies the layout information, such as alignment, trimming, tab stops, and so forth.

boundingBox [out]

Type: RectF*

Pointer to a RectF object that receives the rectangle that bounds the string.

codepointsFitted [out]

Type: INT*

Optional. Pointer to an INT that receives the number of characters that actually fit into the layout rectangle. The default value is a NULL pointer.

linesFilled [out]

Type: INT*

Optional. Pointer to an INT that receives the number of lines that fit into the layout rectangle. The default value is a NULL pointer.

Return value


Type: Status

If the method succeeds, it returns OK, which is an element of the Status enumeration.

If the method fails, it returns one of the other elements of the Status enumeration.


The following example measures the size of a string and then draws a rectangle that represents that size.

VOID Example_MeasureString2(HDC hdc)
   Graphics graphics(hdc);
   // Set up the string.
   WCHAR string[] = L"Measure Text";
   Font font(L"Arial", 16);
   RectF layoutRect(0.0f, 0.0f, 100.0f, 50.0f);
   StringFormat format;
   RectF boundRect;
   // Measure the string.
   graphics.MeasureString(string, 12, &font, layoutRect, &format, &boundRect);
   // Draw a rectangle that represents the size of the string.
   graphics.DrawRectangle(&Pen(Color(255, 0, 0, 0)), boundRect);


Minimum supported client

Windows XP, Windows 2000 Professional

Minimum supported server

Windows 2000 Server


GDI+ 1.0


Gdiplusgraphics.h (include Gdiplus.h)





See also

DrawString Methods



Send comments about this topic to Microsoft

Build date: 3/6/2012

Community Additions