程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 為VB應用程序定制浮動提示

為VB應用程序定制浮動提示

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