就是画文字
一、设置字体:gg.Font
二、设置颜色:gg.SetColor
三、输出文字:gg.DrawString x,y,"xxxx"
设置字体和颜色永久有效,若不需要改变,无需重复设置。默认为 雅黑,9号,黑色字,无底色。
成员列表
Sub Font(fName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False, Italic As UByte = False, ByVal Underline As UByte = False, ByVal StrikeOut As UByte = False) '设置字体{3.True.False}{4.True.False}{5.True.False}{6.True.False}
Sub SetColor(ByVal tColor As Long, ByVal bColor As Long = -1) '设置文本颜色,字色和字的背景色,背景值-1为透明背景。
Sub DrawString(ByVal X As Long, ByVal Y As Long, nText As CWSTR) '描绘制指定的文本字符串
Sub DrawStringFC(ByVal X As Long, ByVal Y As Long, nText As CWSTR, tColor As Long, nName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False) '描绘制指定的文本字符串,带字体和颜色
Function DrawTextS(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0) As Long '指定的矩形中绘制格式化的文本,样式为组合,见VFB帮助。
Function DrawTextFC(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0, tColor As Long, nName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False) As Long '指定的矩形中绘制格式化的文本,带字体和颜色,样式为组合,见VFB帮助。
Sub DrawFrameStr(ByVal X As Long, ByVal Y As Long, nText As CWSTR) '描绘描边字,轮廓字,轮廓先设置笔,字为正常字
Sub DrawFrameStrR(ByVal X As Long, ByVal Y As Long, nText As CWSTR, bColor As Long) '绕写方式的轮廓字
Sub DrawFrameText(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0) '描绘描边字,轮廓字,轮廓先设置笔,字为正常字
Sub DrawFrameTextR(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, bColor As Long, uFormat As ULong = 0) '绕写方式的轮廓字
Function GetTextWidth(nText As CWSTR) As Long '获取文本显示宽度,自动支持DPI感知,为 100% DPI 时的数字。假如 DPI比率=1 则是实际像素值
Function GetTextHeight(nText As CWSTR) As Long '获取文本显示高度,自动支持DPI感知,为 100% DPI 时的数字。假如 DPI比率=1 则是实际像素值
Sub FontEx(fName As CWSTR = "Microsoft YaHei", fSizeH As Long = 9,fSizeW As Long = 0, Angle As Single = 0, ByVal Bold As Long = FW_NORMAL, Italic As UByte = False, ByVal Underline As UByte = False, ByVal StrikeOut As UByte = False) '设置字体扩展,带宽度和旋转角度。{3.True.False}{4.True.False}{5.True.False}{6.True.False}
Font 设置字体
(fName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False, Italic As UByte = False, ByVal Underline As UByte = False, ByVal StrikeOut As UByte = False)
- fName 字体名称,默认 "Microsoft YaHei"
- fSize 字体大小,默认 9 (相应 DPI )
- Bold 是否加粗,默认 False
- Italic 是否斜体,默认 False
- Underline 是否下划线,默认 False
- StrikeOut 是否删除线,默认 False
FontEx 设置字体
(fName As CWSTR = "Microsoft YaHei", fSizeH As Long = 9,fSizeW As Long = 0, Angle As Single = 0, ByVal Bold As Long = FW_NORMAL, Italic As UByte = False, ByVal Underline As UByte = False, ByVal StrikeOut As UByte = False)
设置字体扩展,带宽度和旋转角度。
- fName 字体名称,默认 "Microsoft YaHei"
- fSizeH 字体高度(字体大小、字号),默认 9 (相应 DPI )
- fSizeW 字体宽度(字号),默认=0,表示跟随高度。
- Bold 加粗多少,标准为 FW_NORMAL=400 ,数字越大越粗
- Italic 是否斜体,默认 False
- Underline 是否下划线,默认 False
- StrikeOut 是否删除线,默认 False
SetColor 文字颜色
(ByVal tColor As Long, ByVal bColor As Long = -1)
- tColor 文本颜色
- bColor 背景值,默认-1为透明背景。
DrawString 描绘文本
(ByVal X As Long, ByVal Y As Long, nText As CWSTR)
- x,y 位置
- nText 文本
DrawStringFC 直接设置字体和颜色描绘文本
直接指定字体和颜色,不改变公用设置来描绘文本
(ByVal X As Long, ByVal Y As Long, nText As CWSTR, tColor As Long, nName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False)
- x,y 位置
- nText 文本
- tColor 文本颜色
- fName 字体名称,默认 "Microsoft YaHei"
- fSize 字体大小,默认 9 (相应 DPI )
- Bold 是否加粗,默认 False
DrawTextS 格式化描绘文本
(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0) As Long
指定的矩形中绘制格式化的文本,样式为组合
- x,y,w,h 位置和矩形尺寸
- nText 文本
- uFormat 格式化样式
- 返回 用了DT_CALCRECT后不描绘,返回文字高度(像素)
常用:DT_CENTER Or DT_VCENTER Or DT_SINGLELINE
DT_BOTTOM 将文本对齐到矩形的底部。该值仅与DT_SINGLELINE值一起使用。
DT_LEFT 将文本对准左侧。(默认)
DT_RIGHT 将文本对齐到右侧。
DT_TOP 将文本对齐到矩形的顶部。(默认)
DT_CENTER 在矩形中居中文字。
DT_VCENTER 纵向中心文本。该值仅与DT\_SINGLELINE值一起使用。
DT_CALCRECT 返回格式化文本的高度,但不绘制文本。
DT_EDITCONTROL 复制多行编辑控件的文本显示特性。具体而言,以与编辑控件相同的方式计算平均字符宽度,并且该函数不显示部分可见的最后一行。
DT_END_ELLIPSIS 如果字符串的末尾不适合矩形,则会被截断,并添加省略号。
DT_HIDEPREFIX 忽略文本中的&符号(&)前缀字符。
DT_NOPREFIX 关闭前缀字符的处理。
DT_INTERNAL 使用系统字体来计算文本度量。
DT_MODIFYSTRING 修改指定的字符串以匹配显示的文本。
DT_PATH\_ELLIPSIS 对于显示的文本,用椭圆替换字符串中间的字符,以使结果符合指定的矩形。
DT_RTLREADING 右向左阅读顺序布局
DT_SINGLELINE 仅在一行上显示文字。
DT_TABSTOP 设置制表位。
DT_WORDBREAK 自动换行
DT_WORD_ELLIPSIS 截断任何不适合矩形的单词并添加省略号。
DrawTextFC 指定字体和颜色格式化描绘文本
(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0, tColor As Long, nName As CWSTR = "Microsoft YaHei", ByVal fSize As Long = 9, ByVal Bold As UByte = False) As Long
- x,y,w,h 位置和矩形尺寸
- nText 文本
- uFormat 格式化样式,见 DrawTextS 说明
- tColor 文本颜色
- fName 字体名称,默认 "Microsoft YaHei"
- fSize 字体大小,默认 9 (相应 DPI )
- Bold 是否加粗,默认 False
DrawFrameStr 描绘带轮廓文本
(ByVal X As Long, ByVal Y As Long, nText As CWSTR)
描绘描边字,轮廓字,轮廓先用画图里的笔设置好宽度和颜色,字为正常字
- x,y 位置和矩形尺寸
- nText 文本
DrawFrameStrR 绕写描绘轮廓文本
(ByVal X As Long, ByVal Y As Long, nText As CWSTR, bColor As Long)
使用绕写方式的描绘轮廓字
- x,y 位置和矩形尺寸
- nText 文本
- bColor 轮廓颜色
DrawFrameText 格式化描绘轮廓文本
(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, uFormat As ULong = 0)
'描绘描边字,轮廓字,轮廓先用画图里的笔设置好宽度和颜色,字为正常字
- x,y,w,h 位置和矩形尺寸
- nText 文本
- uFormat 格式化样式,见 DrawTextS 说明
DrawFrameTextR 格式化描绘绕写轮廓文本
(X As Long, Y As Long, W As Long, H As Long, nText As CWSTR, bColor As Long, uFormat As ULong = 0)
- x,y,w,h 位置和矩形尺寸
- nText 文本
- bColor 轮廓颜色
- uFormat 格式化样式,见 DrawTextS 说明
GetTextWidth 获取文本显示宽度
(nText As CWSTR) As Long
获取文本显示宽度,自动支持DPI感知,为 100% DPI 时的数字。假如 DPI比率=1 则是实际像素值
GetTextHeight 获取文本显示高度
(nText As CWSTR) As Long
获取文本显示高度,自动支持DPI感知,为 100% DPI 时的数字。假如 DPI比率=1 则是实际像素值
评论一下?