[求助]DRAWTEXT函数? DRAWTEXT函数如何使自动换行的文本在矩形框中垂直居中?单行文本可以,不知多行的如何实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用两次,第一次,通过设置DT_CALCRECT标志,计算多行的高度,第二次,通过前面取得的高度,在目的矩形中指定居中的起点。 DrawText VB声明Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long 说明 将文本描绘到指定的矩形中 返回值 Long,描绘文字的高度 参数表 参数 类型及说明 hdc Long,欲在其中显示文字的一个设备场景的句柄 lpStr String,欲描绘的文本字串 nCount Long,欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1 lpRect RECT,指定用于绘图的一个格式化矩形(采用逻辑坐标) wFormat Long,一个标志位数组,决定了以何种形式执行绘图。参考下面总结的常数类型列表 标志常数 说明 DT_BOTTOM 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边 DT_CALCRECT 象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值 DT_CENTER 文本垂直居中 DT_EXPANDTABS 描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定 DT_EXTERNALLEADING 计算文本行高度的时候,使用当前字体的外部间距属性(the external leading attribute) DT_LEFT 文本左对齐 DT_NOCLIP 描绘文字时不剪切到指定的矩形 DT_NOPREFIX 通常,函数认为 & 字符表示应为下一个字符加上下划线。该标志禁止这种行为 DT_RIGHT 文本右对齐 DT_SINGLELINE 只画单行 DT_TABSTOP 指定新的制表站间距,采用这个整数的高8位 DT_TOP 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部 DT_VCENTER 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部 DT_WORDBREAK 进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效 运行时错误 '4218' 类型不匹配 ,简单又复杂的问题。 请教如何将数字,比如:1003.56 加密后,显示为字符. 我的vb在写wisock时,常常在调试时出现卡死的现象,怎么解决? VB的commndDialog空间打开多个文件受限怎么办 如何用vb在sql server中存取图象 请教VB数学程序! DB2中文显示乱码问题(急) 急!如何将imgscan扫描出来的图存为jpg文件!! 怎样根据不同的输入而打开不同的表(ACCESS)? 简单问题先到先得。 请教:在VB中怎么样创建Access查询? 关于时间问题!
将文本描绘到指定的矩形中
返回值
Long,描绘文字的高度
参数表
参数 类型及说明
hdc Long,欲在其中显示文字的一个设备场景的句柄
lpStr String,欲描绘的文本字串
nCount Long,欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1
lpRect RECT,指定用于绘图的一个格式化矩形(采用逻辑坐标)
wFormat Long,一个标志位数组,决定了以何种形式执行绘图。参考下面总结的常数类型列表
标志常数 说明
DT_BOTTOM 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边
DT_CALCRECT 象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值
DT_CENTER 文本垂直居中
DT_EXPANDTABS 描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定
DT_EXTERNALLEADING 计算文本行高度的时候,使用当前字体的外部间距属性(the external leading attribute)
DT_LEFT 文本左对齐
DT_NOCLIP 描绘文字时不剪切到指定的矩形
DT_NOPREFIX 通常,函数认为 & 字符表示应为下一个字符加上下划线。该标志禁止这种行为
DT_RIGHT 文本右对齐
DT_SINGLELINE 只画单行
DT_TABSTOP 指定新的制表站间距,采用这个整数的高8位
DT_TOP 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部
DT_VCENTER 必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部
DT_WORDBREAK 进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效