说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

设定StatusBar的文字成不同的颜色-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
设定StatusBar的文字成不同的颜色-VB资料


设定StatusBar上的文字,该文字以StatusBar所在Form的字型设定为准,并以form
的ForeColor为字的颜色,文字过长时,自动会截除
这个程式的实质意义不太大,因为当文字被盖掉後需自行重新再呼叫这个Sub才能再
将文字显示出来,除非我们再使用Subclassing的方式,於statusBar接收到WM_PAINT
时,去呼叫这个SubRoutine,这程式着重於Font的了解

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

'第一个叁数传入StatusBar
'第二个叁数表示文字要在第几个panel上 显示,由1算起
'第三个叁数是待显示的字串
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的字型产生另一个font
'因为不知如何取得font的handle只好,使用CreateFont的方式来取得 hfont
Call SelectObject(hdc2, hfont) '设字型
res = SetTextColor(hdc2, Me.ForeColor) '设字的颜色
bkcolor = GetSysColor(COLOR_BTNFACE)
SetBkColor hdc2, bkcolor '设字的背景色
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 '宣告工作区无效,用来重画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

让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 让最大化和最小化按钮消失-VB资料 任意多边形的窗口-VB资料 如 何将「拒 绝 被 盖 住 的 窗 口 」还 原-VB资料 VB如何创建椭圆形的窗体? VB如何创建无Icon的窗体? VB如何防止Edit框中的Password不被非法获取 VB如何将鼠标显示成动画鼠标? VB如何利用程序拉下 ComboBox? VB如何让窗体右上角的X失效? VB如何使Form的背景图随Form大小改变 VB如何使Text文本框的属性只读? VB如何使窗体右上角的"X"无效? VB如何使窗体最小化并消失 VB如何在VB和Delphi中快速实现立体化窗口显示 VB如何在VB中实现绘图区的大十字光标 VB如何在VB中制作不回显的文本框 VB如何制作浮动式窗口 闪烁的Label-VB资料 设定StatusBar的文字成不同的颜色-VB资料 设计一个可中断循环的按钮-VB资料 设置“执行无用户界面”-VB资料 生成一个透明窗体 -VB资料 实现窗体内部的左右移动 -VB资料 实现鼠标移到窗口上时变大,移出窗体时变小(如《东方快车》)-VB资料 实现图片平铺于窗体中-VB资料 使程序的标题条闪烁 -VB资料 使窗口总在最前 -VB资料 使窗体右上角的X按钮失效 -VB资料 !!!!请问这个怎么实现??(有图) 在多层系统中数据更新是如何实现的? Applet 里面怎么做菜单 串行口的简单问题,求救 如何在函数里面传字符串数组 请问哪里有《Delphi 4 编程技术内幕》随书附带的源码下载啊? 请教:将可执行程序安装到用户机上后,用什么办法控制其它用户非法复制使用? 我想隐藏MSFlexGrid2的的10到最后行,但不行!!急救!! 哪有STL 和BOOST库的SOURCE CODE 当 如何做安捷生产管理系统。如何下手!!! PB8在链接Access2000时,为何会发生问题.链接后在PB8中打开只能看库中数据,却不能修改! 我用OCX控件编程,插入OLE控件时,出现“需要协议文件”,我该怎么办呢? waveoutopen! 问个问题,我一直有疑惑 BDE中建立的Access库,怎么才能打开; Access的密码为空,用户名不知道; 第四次帖了,高手在哪儿? 为什么我装了一个元件后再安装一个另外的,会把第一个冲掉? 就要去实施了,不知道什么时候才能回来,散分 我是菜鸟,问一个很菜的问题,!!!!!!!!! ATL中创建的ActiveX控件,是怎么在程序中使用的???????????? 一个关于LotusScript的一个问题。调用公试。 **请教:怎么让MSFlexgrid的一行显示一种颜色. 一个小问题,希望有人能解答! DLL高手请入,关于在DLL中引出对象的问题?????? 求教!!有关DLL调用中返回字符串类型出错的问题。 Delphi怎么实现子类化? session 和 cookie 各有千秋,区别在那里啊?敬请赐教! fm1008leaf(小幻姬(玉笛书生的徒弟)):我考考你就知道你是真是假! jneu(沧海桑田)怎么不理我?有关宏拷贝问题 paradox中的NUM类型在sql语句中是什么类型?为什么asfloat会出错? 关于J2EE的就业前景,值不值的花二万元参加一个二十天的培训,欢迎大家热烈讨论 在listbox 中,如果知道了一个Item的内容,怎么知道它的indix 今有同仁问到,三十以后咋过。恰巧心情郁闷,发上几句牢骚。 少年暗恋对象,早已嫁作人妇。那天遇见街头,孩子叫我叔叔。 OICQ问题! 如何可获得Table 内字段的类型及长度? windows2000 server 的internet 共享怎样设置权限 软件开发的请进来讨论,关于报酬的问题。大家多提建议。 1.为什么有些地方可以用MessageBox函数,有些地方不可以2.mfc的CView::OnFilePrint提供了打印的方法,要是一个程序没有视图要打印一般用什么方法? 请问在DEVELOP2000里面可以使用进度条控件吗?怎么编程实现? ???oracle监听器问题? WebBrowser控件获得网页中文本框的名称该如何写? CFtpConnection 怎样在FastReport中控制或判断所连接的数据库表到了eof? CTypedPtrList模板对象中,如何删除指定位置的元素??十分着急! ms sql server 的技术问题 怎样清除事务日志????????? 在那里改个人在cdsn.net注册信息(如名字,地秩)? 关闭窗口的事件如何触发?( 高手们请问deiphi如何实玩宏代换???????????十分火急!!!!!!! 请帮忙!!SOS!!! 请问如何实现宏代换????????????? 关于打印的一个不错的设想 可乐和雪碧中都溶解了二氧化碳,当打开可乐或雪碧时,会看到有大量气泡产生,你认为气泡中的气体是? 氧气转变成臭氧是氧化还原反应吗 血液循环的两条路线。还有关于心脏的详细知识。 二硫化亚铁和氧气反应配平的过程 双线桥法怎么表示 得氧失氧是否一定为氧化还原反应?当然我知道氧化还原反应不是靠得氧失氧来判断的...但有没有一种物质得氧或失氧而不属于氧化还原反应的?P.s.我的化学很烂```呵呵呵呵 为什么氯化钠和硝酸钾溶液不反应请讲的详细一些 硫化亚铁和氧气反应的化学方程式? 氧化还原反应的升失氧降得还那一大套.失电子化合价升高,是还原剂,有还原性,被氧化,发生氧化反应,这些我都知道,但是生成的是氧化产物还是还原产物啊?除此之外还有啥可以补充的么 氯化钠溶液和硝酸钾溶液反应方程式. 二硫化亚铁与氧气反应的方程式 氧化还原反应中没有氧的得失是不是氧化还原反应 初中高温化学式怎么配平?比如fe3o4+co=高温fe+co2 硫化亚铁与氧气反应,生成三氧化二铁和二氧化硫的反应,配平的具体过程是什么呀? 求解释氧气到臭氧为何为氧化还原反应 硝酸钾和氯化钠反映的化学方程式 二硫化亚铁在沸炉中与氧气反应的化学方程式 蔗糖是有机物还是无机物?蔗糖属于糖类,糖类是有机物;但蔗糖易溶于水,而有机物不易溶于水,具有无机物的性质,似乎又属于无机物...求解(千万别说的模棱两可) 氯化钠和硝酸钾是否能反映? “升失氧氧氧是还,降得还还还是氧”各指什么? 升失氧还氧,降得还氧还各是什么?关于氧化还原反应的,各指什么? 氯化钠能和硝酸钾反应吗?如果把氯化钠和硝酸钾混合溶液蒸干,应该会析出氯化钾、氯化钠、硝酸钾、硝酸钠四种晶体, 降氧升还,得氧失还 高中物理化学重点知识点? 硝酸钾和氯化钠可以发生反应吗 为什么 升失氧:氧化反应,氧化性,还原剂,还原产物对不对啊?一直混掉… 求:高中物化生知识点记忆口诀,歌诀.化学不要实验方面的!例如:原核生物的种类蓝(色)细线支(毛)衣(蓝藻、细菌、放线菌、支原体、衣原体)我会按数量和质量给分. 初二生物知识点1、下列不属于无性生殖的是( D )A 椒草的用叶繁殖 B 马铃薯的用块茎生殖C 月季的扦插 D 小麦的种子繁殖2、种子的胚是由( A )A 受精卵发育成的 B 受精极核发 关于可乐饮料,下列说法错误的是 A可乐饮料的碳酸会腐蚀牙齿,造成骨质疏松 B可乐会导致肥胖糖尿病C可乐饮料含有丰富的营养物质D可乐饮料只是一种好喝的水单选题 会考各科知识点总结 初二生物知识点归纳(人教版) 高二上生物知识点人教版(必修)第一章和第二章的知识点谢谢啦 化学式配平有多少方法配平? 求初中化学有关反应条件是高温的所有化学式要在化学式前注明反应物的名称 物理化学的知识点应该怎样记忆? 配平化学式的方法有哪些? 氯化钠与硝酸钾可以反应吗 九年级物理化学知识点归纳 氯化钠和硝酸钾的水溶液一般不和其他物质发生复分解反应的是?好像两个都是,还是只有一个? 高一【上】地理第一章知识总结还有 要非常非常详细的 在化学反应中,失去氧的物质叫-------------,得到氧的物质叫------------------- 例如:CuO+H2=Cu+H2O,其中CuO是---------,H2是------------ 求河北省高中物理会考的知识点越详细越好. 高一必修一地理知识点总结要全最好带文件的 在氧化还原反应中得到氧的物质叫__,具有__性;失去氧的物质叫__,具有__性. 氯化钠溶液与硝酸钾溶液能否发生复分解反应?尽快! 高一地理必修一知识点完整总结(注重知识点间的联系) 化学配平的题 ABC是中学化学中常见的三种物质,A与氧气反应生成B,B与氧气反应生成C,A与氧气反应生成C1若A是一种金属C是淡黄色固体则B是A到C的反应方程式2若A是一种非金属,其常见的单质为黑色固体,C是最 高中物理会考知识点谢谢大家啦 急用啊 用高锰酸钾制氧气的化学方程式 要配平 在同一个化学反应中,有物质失去氧,必有物质得到氧对不对?2H2O=(通电)2H2+O2书上说对,为什吗 为什么硝酸钾不易发生复分解反应 如何配平很复杂的化学方程式?例如高锰酸钾取氧 可以逐次与氧气反应,不断生成的新物质且新物质能与氧气反应的物质有哪些 氯化钠溶液与硝酸钾反应是不是复分解反应? 求高一必修一生物知识点 高二生物知识点总结. 配平我到是知道配~可是那些数字有什么意义啊? 高一生物必修一知识点 高二物理选修3-1知识点、公式总结. 高中生物会考知识点446734181@qq.com
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn