計算機二級:在狀態(tài)欄中顯示幫助信息

字號:

狀態(tài)欄是VB中的一個很有用的控件,但是默認狀態(tài)下它不在控件面板中,在我們使用它之前必須先添加,方法是按下Ctrl+T快捷鍵,在彈出的“Components”對話框中選中MS Windows Common Controls。這時在控件面板中會出現(xiàn)狀態(tài)欄的小圖標,雙擊此圖標就能把它添加到窗體中。
    接下來我們根據(jù)自己的需要來編輯狀態(tài)欄,選中窗體上的狀態(tài)欄,在鼠標右鍵菜單中選擇“屬性Properties”,這時會彈出如上圖所示的對話框,我們選擇“Panels窗格”。其中“Insert Panel”按鈕用來添加狀態(tài)欄中的窗格數(shù)目,當(dāng)我們添加一個窗格后“Index”的值也會自動加一,在程序中我們通過窗格的索引值來引用窗格。下面的一些項目都是窗格的屬性,我們可以在此設(shè)置也可在程序中控制它。比較常用的屬性有:
    “Text”--在各個窗格中顯示的文字;
    “Alignment”--窗格中文本的對齊方式;
    “Style”窗格的樣式(選擇0-sbrText為顯示文本,選擇6-sbrDate為顯示日期等等);
    “Bevel”--窗格的凹凸狀態(tài)。
    另外我們還可以在窗格中加入圖片,方法是點擊“Browse”然后選中圖片文件。
    在本程序中我們在第一個窗格中動態(tài)顯示幫助信息,在第二、三個窗格中分別顯示日期和時間。那么怎樣在程序中控制狀態(tài)欄中顯示的文本呢?
    例如我們希望鼠標移動到不同的按鈕上時狀態(tài)欄的第一個窗格中顯示不同的幫助,則我們在按鈕的OnMouseOver事件中加入如下語句即可:
    Private Sub CmdNew_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "清空文本框"
    End Sub
    同樣的我們能為其它按鈕等控件添加幫助信息。
    為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細的中文注釋,看看代碼:
    ’--------------------------------------
    ’        一個使用StatusBar的例子
    ’--------------------------------------
    ’           洪恩在線 求知無限
    ’--------------------------------------
    ’------名稱-------------作用------------
    ’      CmdItalic        “斜體”按鈕
    ’      CmdBold          “粗體”按鈕
    ’      CmdExit          “退出”按鈕
    ’      CmdNew           “重寫”按鈕
    ’      Text1             文本框
    ’      frmStatusBar      主窗體
    ’      staSample         狀態(tài)欄
    ’--------------------------------------
    Option Explicit
    ’當(dāng)“斜體”按鈕按下時
    Private Sub CmdItalic_Click()
    ’將文本框中的字體設(shè)為斜體
    Text1.FontItalic = True
    End Sub
    ’當(dāng)鼠標移動到“斜體”按鈕上時
    Private Sub CmdItalic_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ’把狀態(tài)欄的第一個Panels中的Text屬性設(shè)為"轉(zhuǎn)化為斜體"的幫助信息
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "轉(zhuǎn)化為斜體"
    End Sub
    ’當(dāng)“粗體”按鈕按下時
    Private Sub CmdBold_Click()
    ’將文本框中的字體設(shè)為粗體
    Text1.FontBold = True
    End Sub
    ’當(dāng)鼠標移動到“粗體”按鈕上時
    Private Sub CmdBold_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ’把狀態(tài)欄的第一個Panels中的Text屬性設(shè)為"轉(zhuǎn)化為粗體"的幫助信息
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "轉(zhuǎn)化為粗體"
    End Sub
    ’當(dāng)“退出”按鈕按下時
    Private Sub CmdExit_Click()
    ’退出程序
    Unload Me
    End Sub
    ’當(dāng)鼠標移動到“退出”按鈕上時
    Private Sub CmdExit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ’把狀態(tài)欄的第一個Panels中的Text屬性設(shè)為"退出程序"的幫助信息
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "退出程序"
    End Sub
    ’當(dāng)“重寫”按鈕按下時
    Private Sub CmdNew_Click()
    ’將文本框中的文本清空
    Text1.Text = ""
    Text1.FontBold = False
    Text1.FontItalic = False
    End Sub
    ’當(dāng)鼠標移動到“重寫”按鈕上時
    Private Sub CmdNew_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ’把狀態(tài)欄的第一個Panels中的Text屬性設(shè)為"清空文本框"的幫助信息
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "清空文本框"
    End Sub
    Private Sub edit_Click()
    frmProperties.Show vbModal
    End Sub
    ’當(dāng)鼠標移動到文本框上時
    Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ’把狀態(tài)欄的第一個Panels中的Text屬性設(shè)為"輸入文字"的幫助信息
    staSample.Panels(1).Text = ""
    staSample.Panels(1).Text = "輸入文字"
    End Sub