六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

設(shè)定StatusBar的文字成不同的顏色

[摘要]設(shè)定StatusBar上的文字,該文字以StatusBar所在Form的字型設(shè)定為準(zhǔn),并以form的ForeColor為字的顏色,文字過長時(shí),自動(dòng)會(huì)截除這個(gè)程式的實(shí)質(zhì)意義不太大,因?yàn)楫?dāng)文字被蓋掉後需自行重新再呼叫這個(gè)Sub才能再將文字顯示出來,除非我們?cè)偈褂肧ubclassing的方式,於stat...

設(shè)定StatusBar上的文字,該文字以StatusBar所在Form的字型設(shè)定為準(zhǔn),并以form
的ForeColor為字的顏色,文字過長時(shí),自動(dòng)會(huì)截除
這個(gè)程式的實(shí)質(zhì)意義不太大,因?yàn)楫?dāng)文字被蓋掉後需自行重新再呼叫這個(gè)Sub才能再
將文字顯示出來,除非我們?cè)偈褂肧ubclassing的方式,於statusBar接收到WM_PAINT
時(shí),去呼叫這個(gè)SubRoutine,這程式著重於Font的了解

''below is within Form
Private Sub Command1_Click()
Call ShowPanelText(StatusBar1, 1, "這是一個(gè)有趣的程式hahahaha")
End Sub

''第一個(gè)叁數(shù)傳入StatusBar
''第二個(gè)叁數(shù)表示文字要在第幾個(gè)panel上 顯示,由1算起
''第三個(gè)叁數(shù)是待顯示的字串
Private Sub ShowPanelText(StatusBar1 As StatusBar, Pno As Long, ByVal PanelText
As String)
Dim bkcolor As Long
Dim Color As Long
Dim res As Long
Dim aRect As RECT, rect5 As RECT
Dim hfont As Long
Dim hdc2 As Long
Dim TextHeight As Long
Dim tx As TEXTMETRIC
Dim oScaleT As Long, oScaleL As Long, oScaleH As Long, oScaleW As Long
Dim oScaleM As Long

oScaleM = Me.ScaleMode
oScaleT = Me.ScaleTop
oScaleL = Me.ScaleLeft
oScaleH = Me.ScaleHeight
oScaleW = Me.ScaleWidth
Me.ScaleMode = 3

hdc2 = GetDC(StatusBar1.hwnd)
Call GetTextMetrics(Me.hdc, tx) ''取得form 字型資訊
hfont = CreateFont(tx.tmHeight, tx.tmAveCharWidth, 0, 0, _
tx.tmWeight, 0, 0, 0, tx.tmCharSet, 0, 0, 0, _
tx.tmPitchAndFamily, Me.Font.Name) ''依form的字型產(chǎn)生另一個(gè)font
''因?yàn)椴恢绾稳〉胒ont的handle只好,使用CreateFont的方式來取得 hfont
Call SelectObject(hdc2, hfont) ''設(shè)字型
res = SetTextColor(hdc2, Me.ForeColor) ''設(shè)字的顏色
bkcolor = GetSysColor(COLOR_BTNFACE)
SetBkColor hdc2, bkcolor ''設(shè)字的背景色
SetTextAlign hdc2, TA_TOP
TextHeight = Me.TextHeight(PanelText)
aRect.Top = (StatusBar1.Height - TextHeight) \ 2
If StatusBar1.Style = 0 Then
aRect.Left = StatusBar1.Panels(Pno).Left + 2
aRect.Right = aRect.Left + StatusBar1.Panels(Pno).Width - 6
Else
aRect.Left = StatusBar1.Left + 2
aRect.Right = StatusBar1.Width - 6
End If
aRect.Bottom = StatusBar1.Height
InvalidateRect StatusBar1.hwnd, aRect, 1 ''宣告工作區(qū)無效,用來重畫statusBar
UpdateWindow StatusBar1.hwnd
DrawText hdc2, PanelText, LenB(StrConv(PanelText, vbFromUnicode)), aRect, 0
ReleaseDC StatusBar1.hwnd, hdc2
DeleteObject (hfont)
Me.ScaleMode = oScaleM
Me.ScaleHeight = oScaleH
Me.ScaleTop = oScaleT
Me.ScaleLeft = oScaleL
Me.ScaleWidth = oScaleW
End Sub

''below is within .bas module
Option Explicit
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Type TEXTMETRIC
tmHeight As Long
tmAscent As Long
tmDescent As Long
tmInternalLeading As Long
tmExternalLeading As Long
tmAveCharWidth As Long
tmMaxCharWidth As Long
tmWeight As Long
tmOverhang As Long
tmDigitizedAspectX As Long
tmDigitizedAspectY As Long
tmFirstChar As Byte
tmLastChar As Byte
tmDefaultChar As Byte
tmBreakChar As Byte
tmItalic As Byte
tmUnderlined As Byte
tmStruckOut As Byte
tmPitchAndFamily As Byte
tmCharSet As Byte
End Type
Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, ByVal O As Long, _
ByVal W As Long, ByVal I As Long, ByVal u As Long, ByVal S As Long, _
ByVal C As Long, ByVal OP As Long, ByVal CP As Long, _
ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long
Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" _
(ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As Long
Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, _
ByVal crColor As Long) As Long
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _
ByVal hdc As Long) As Long
Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, _
ByVal crColor As Long) As Long
Declare Function SetTextAlign Lib "gdi32" (ByVal hdc As Long, _
ByVal wFlags As Long) As Long
Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, _
ByVal hObject As Long) As Long
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
Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, _
lpRect As RECT, ByVal bErase As Long) As Long

Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Public Const COLOR_BTNFACE = 15
Public Const TA_TOP = 0





主站蜘蛛池模板: 天干天夜啪天天碰 | 欧美性aaa| 亚洲视频导航 | 下载一级毛片 | 伊人久久大香线蕉资源 | 日本一本二本免费播放视频 | 日本三级视频在线播放 | 亚洲美女在线播放 | 日本特黄特色aa大片免费 | 青草青青高清影院在线观看 | 午夜综合| 天天综合亚洲 | 青青草好 | 日韩免费在线观看视频 | 亚洲 欧美 精品 中文第三 | 日韩中文字幕在线免费观看 | 日本视频免费在线观看 | 欧美性极品xxxxx | 欧美性猛交xxxx乱大交中文 | 日本欧美激情 | 无码精品一区二区三区免费视频 | 人人澡人人爱 | 日本三级香港三级三级人!妇久 | 亚洲精品在线免费观看视频 | 日韩 欧美 国产 亚洲 中文 | 欧美天堂在线 | 青草视频入口 在线观看 | 日日夜夜亚洲 | 亚洲a在线视频 | 午夜男人天堂 | 午夜国产精品不卡在线观看 | 日韩亚洲视频 | 伊人免费网 | 欧美伊人久久大香线蕉在观 | 日韩精品免费在线视频 | 四虎国产精品免费久久影院 | 日日射夜夜操 | 色综合视频在线 | 日本韩国在线播放 | 日本www色视频 | 亚洲激情视频在线播放 |