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

為VB應(yīng)用程序定制浮動(dòng)提示

[摘要]在Win95中,當(dāng)我們將鼠標(biāo)移至某個(gè)控件上時(shí),便會(huì)在鼠標(biāo)所指之處彈出一個(gè)小窗口,告訴我們這個(gè)控件的用途,這便是“浮動(dòng)提示”。這種提示方式可以及時(shí)地提供有關(guān)信息,那么怎樣在VB中實(shí)現(xiàn)這種功能呢? 首先...
在Win95中,當(dāng)我們將鼠標(biāo)移至某個(gè)控件上時(shí),便會(huì)在鼠標(biāo)所指之處彈出一個(gè)小窗口,告訴我們這個(gè)控件的用途,這便是“浮動(dòng)提示”。這種提示方式可以及時(shí)地提供有關(guān)信息,那么怎樣在VB中實(shí)現(xiàn)這種功能呢?
首先我們在Form的任意位置放一個(gè)Text1作為浮動(dòng)提示的通用文本顯示框,幾個(gè)重要屬性設(shè)置為:
Appearance:0-Flat
BackColor:窗口背景顏色
BorderStyle:1-FixedSingle
ForeColor:窗口文本顏色
Height:文本框高度,一般取286左右
Visible:False
如果該Text1不是在所有按鈕設(shè)置以后才放置的,則在顯示在它之后放置的按鈕的浮動(dòng)提示時(shí),浮動(dòng)提示將被該按鈕所掩蓋,這時(shí)需要按Ctrl+J或者在“Edit”菜單中選擇“BringtoFront”將Text1帶回前臺(tái)。
然后,在Module1通用模塊中定義一個(gè)用于存放任意浮動(dòng)提示文本的公共FloatMessage字符串變量: PublicFloatMessageAsString
再在Form的General中加入一個(gè)如下公用函數(shù),其功能是用一個(gè)文本框自動(dòng)匹配和管理所有浮動(dòng)提示: PublicFunctionShowMessage()IfText1Visible=FalseThenText1Left=CurrentXText1Top=CurrentY′
以上兩句定制文本框顯示的左上角坐標(biāo),下句計(jì)算文本框長度
Text1Width=TextWidth(FloatMessage)+72
Text1Text=FloatMessage′初始化浮動(dòng)提示信息
Text1Visible=True′顯示浮動(dòng)提示
EndIf′刪除這個(gè)If循環(huán)將出現(xiàn)游走效果
EndFunction最后要做的就是在調(diào)用該函數(shù)的所有事件中為這個(gè)FloatMessage賦值。假如我們要為按鈕Command1編制浮動(dòng)提示,則在Command1的MouseMove事件中寫入:
PrivateSubCommand1_MouseMove(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)
CurrentX=Command1Left+X
CurrentY=Command1Top+Y′
以上根據(jù)按鈕位置自動(dòng)提取相對坐標(biāo)并且加一個(gè)當(dāng)前鼠標(biāo)偏移量
FloatMessage=″ThisisCommand1Button″′浮動(dòng)提示內(nèi)容
ShowMessage
EndSub
為了能在鼠標(biāo)移開相關(guān)按鈕后將相關(guān)浮動(dòng)提示隱去,我們還須在Form事件中加入:
PrivateSubForm_MouseMove(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)
Text1Visible=False
EndSub本程序不僅僅適合于按鈕提示,在任何支持MouseMove事件的控件中都可以運(yùn)用,有興趣不妨一試。
以上程序均在486DX2/66、P133的Win95和VB40中調(diào)試通過。