CDC::GetTabbedTextExtent 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取文本在设备上下文(Device Context,简称 DC)中使用指定制表符位宽度的绘图区域的尺寸。
CSize GetTabbedTextExtent(LPCTSTR lpszString, int nCount = -1, int nTabPositions = 0, LPINT lpnTabStopPositions = NULL) const;

这个方法返回一个 CSize 对象,其中包含了文本绘制时所需的宽度和高度。

参数说明:
  •  lpszString: 要测量的文本字符串。

  •  nCount: 要测量的字符串的字符数,如果为 -1,则测量整个字符串。

  •  nTabPositions: 指定制表符的位宽度。

  •  lpnTabStopPositions: 一个指向包含制表符停止位置的整数数组的指针。


使用示例:
CDC dc; // 假设已经创建了一个 CDC 对象
CString strText = _T("Tab\tSeparated\tText");
CSize textSize = dc.GetTabbedTextExtent(strText, strText.GetLength(), 4, NULL);

在这个示例中,textSize.cx 包含了文本在指定制表符位宽度下的宽度,textSize.cy 包含了文本的高度。


转载请注明出处:http://www.zyzy.cn/article/detail/16946/MFC/CDC