ITextServices::TxGetNaturalSize 方法 (textserv.h)
允许调整控件的大小,使其适合其内容。
语法
HRESULT TxGetNaturalSize(
DWORD dwAspect,
HDC hdcDraw,
HDC hicTargetDev,
DVTARGETDEVICE *ptd,
DWORD dwMode,
const SIZEL *psizelExtent,
[in, out] LONG *pwidth,
[in, out] LONG *pheight
);
参数
dwAspect
类型: DWORD
绘图的方面。 它可以是 DVASPECT 枚举中的任何值。
hdcDraw
类型: HDC
在其中进行绘制的设备上下文。
hicTargetDev
类型: HDC
应为其设置文本格式的设备上下文, (即,对于 WYSIWYG) 。
ptd
类型: DVTARGETDEVICE*
有关目标设备的详细信息。
dwMode
类型: DWORD
请求的拟合类型。 可以是以下任一项。
值 | 含义 |
---|---|
|
使用英语公制单位 (ETU) 而不是像素作为此方法参数的度量单位。 |
|
通过将文本格式化为传入的宽度,调整控件的大小以适应整个文本。 文本服务对象返回整个文本的高度和最宽行的宽度。
例如,当用户双击控件的句柄之一时,应执行此操作。 |
|
调整控件的大小,使其适合缩进的内容。 |
|
调整控件的大小,使其适合缩进内容和尾随空格。 |
|
调整控件的大小,使其适合未输入的内容和尾随空格。 |
|
对于纯文本控件,在计算大小时包括最终回车符的高度。 |
|
调整控件的大小以显示整型行数, () 不剪裁任何行。 设置足够的文本格式以填充传入的宽度和高度,然后返回舍入到最接近的线条边界的高度。
注意 传递和返回的宽度和高度对应于视图矩形。 主机应根据需要调整回客户端矩形。 由于这些值表示文本对象的范围,因此它们以 HIMETRIC 坐标表示输入和输出, (每个 HIMETRIC 单位) 为 0.01 毫米,并且度量值不包括任何缩放因子。 有关缩放因子的讨论,请参阅 TxGetExtent。
|
psizelExtent
类型: const SIZEL*
不支持。
[in, out] pwidth
类型: LONG*
dwMode 定义的管接头的宽度。
[in, out] pheight
类型: LONG*
dwMode 定义的管接头的高度。
返回值
类型: HRESULT
如果方法成功,则返回值 S_OK。
如果文本服务无法激活 对象,则返回值为以下 HRESULT 代码之一。 有关 COM 错误代码的详细信息,请参阅 COM 中的错误处理。
返回代码 | 说明 |
---|---|
|
无法确定正确的大小。 |
|
一个或多个参数无效。 |
|
内存不足。 |
注解
前四个参数类似于 ITextServices::TxDraw 中的等效参数,并提供相同的信息。 在必须重新计算行的情况下,它应按照 ITextServices::TxDraw 中的相同方式使用这些值。
pwidth 和 pheight 参数为 in/out 参数。 主机传入文本对象自然范围的暂定宽度和高度。 文本服务对象将这些值与其当前缓存状态进行比较,如果不同,则重新计算行。 然后,它计算并返回 dwMode 指定的自然大小。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | textserv.h |
DLL | Msftedit.dll |
请参阅
概念性
其他资源
引用