今天看TextOut等GUI相关的API函数,都没有能够实现高级类型的下划线的绘制?
请问有可能实现波浪线等其他类型的下划线吗?可以为下划线设置不同的颜色吗?
如何实现?
请问有可能实现波浪线等其他类型的下划线吗?可以为下划线设置不同的颜色吗?
如何实现?
解决方案 »
- 急急急~~~菜鸟出道,请VBA, excel大神指教!!!! 在线等
- 请问 VB关于USB异步通信
- VBA下如何生成另存为对话框
- webbrowser 遇到个奇怪的问题
- 设置打印纸张
- 如何将msflexgrid的内容输出到一个新的access数据库
- 请教关于Rdo的问题
- ADO refresh后如何还定位refresh前的记录上?
- 新人有问题求解决,我想做一个跟windows附带的计算器一样的,老是出错,请各位帮忙看看
- 各位大虾请帮忙!!!!!!(有关vb与vc的通信问题)
- 請教怎樣捕獲到鼠標在ListView上的位置, 在哪一行哪一列?謝謝!
- 如何用API实时监测到系统中打开的任何程序窗口?
if popunder.checked=flase then
richtextbox1.selunderline=ture
popunder.checked=ture
else
richtextbox1.selunderline=flase
popunder.checked=flase
end if
end sub
sText = IIf(mvarFormatString = "", mvarText, Format(mvarText, mvarFormatString))
With tLF
sFont = mvarFontName & vbNullString
temp = StrConv(sFont, vbFromUnicode)
For iChar = 0 To UBound(temp)
.lfFaceName(iChar) = temp(iChar)
Next iChar
.lfItalic = mvarFontItalic
.lfHeight = GetPixcelHeightByPoint(lhDC, mvarFontSize)
.lfUnderline = mvarFontUnderline
.lfWeight = IIf(mvarFontWeight = 0, IIf(mvarFontBold, 700, 400), mvarFontWeight)
.lfStrikeOut = mvarFontStrikeout
.lfQuality = IIf(oTable.FontQuality < 0, 0, oTable.FontQuality)
.lfCharSet = DEFAULT_CHARSET
End With
hFnt = CreateFontIndirect(tLF) '创建字体
'设置字体颜色
If oTable.Enabled Then
If mvarSelected = False Or oTable.HighlightMode <> HMFilledRectSolid Or (Not mvarPicture Is Nothing) Then
SetTextColor lhDC, TranslateColor(mvarForeColor)
Else
SetTextColor lhDC, TranslateColor(IIf(oTable.InFocus, oTable.HighlightForeColor, NoFocusHighlightForeColor))
End If
Else
SetTextColor lhDC, TranslateColor(vbGrayText)
End If
'选入指定字体,保存旧字体
hFntOld = SelectObject(lhDC, hFnt)
'绘制文本(单行文本非自动宽度时超宽显示省略号;多行文本非自动高度时超宽显示省略号)
' tR.bottom = tR.bottom
DrawText lhDC, sText, -1, tR, DT_NOPREFIX Or DT_EXPANDTABS Or DT_EDITCONTROL Or mvarVAlignment Or mvarHAlignment Or _
IIf(mvarSingleLine, DT_SINGLELINE, DT_WORDBREAK) Or _
IIf(mvarWordEllipsis, DT_WORD_ELLIPSIS, 0)
'恢复旧字体
SelectObject lhDC, hFntOld
'释放临时字体
DeleteObject hFnt