Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public 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
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
Public Const DT_CENTER = &H1
Public Const DT_VCENTER = &H4
Public Const DT_SINGLELINE = &H20
Public Const TRANSPARENT = 1
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Sub ShowText(control As ProgressBar)
Dim dc As Long
Dim WndRect As RECT
Dim OldBkMode As Long
GetClientRect control.hwnd, WndRect
dc = GetDC(control.hwnd)
OldBkMode = SetBkMode(dc, TRANSPARENT)
DrawText dc, "test", 4, WndRect, DT_CENTER + DT_VCENTER + DT_SINGLELINE
SetBkMode dc, OldBkMode
End Sub
主要代码是这个样子的,再加上设置字体、颜色基本就可以了。
|