VisualFreeBasic代码_yGDI_文字

2026-1-20 / 0 评论 / 77 阅读

就是画文字
一、设置字体: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 则是实际像素值

评论一下?

OωO
取消