2025年亞洲寵物展覽會、京寵展有哪些亮點
1102
2025-03-31
excel圖表制作:制作漂亮的用戶窗體按鈕
在很多場合,我們都能看到這樣的效果,當鼠標移動到某個元素上面時,該元素會變成另外一種顏色,達到強調的效果。下面,我們來實現當鼠標移動到用戶窗體按鈕上時,會使用顏色高亮顯示,讓用戶窗體更生動,如下圖1所示。
圖1
其實,你在圖1中看到的按鈕并不是用戶窗體內置的傳統命令按鈕,而是使用圖像控件來制作的。由于圖像是靜態的,在運行時不能更改顏色,因此每個按鈕都由兩個圖像組成,一個圖像代表鼠標懸浮在按鈕上的狀態,另一個圖像代表鼠標未懸浮在按鈕上的狀態。然后,使用VBA代碼來根據鼠標的位置切換這兩個圖像的可見性,從而實現按鈕的動態變化。
在Excel工作表中創建按鈕圖像
使用文本框在Excel中創建按鈕圖像。本例中,將使用綠色和白色/灰色格式來指示用戶是否將鼠標懸停在特定按鈕上。下圖2是我制作的用于按鈕圖像的文本框。
圖2
這里要注意的是,四個文本框的大小和格式設置都必須完全相同。
在用戶窗體中繪制圖像按鈕
在VBE中,插入一個用戶窗體,在其中放置一個標簽控件、一個文本框控件以及一個圖像控件,并調整成合適的大小和排列,如下圖3所示。
圖3
在Excel工作表中,選擇并復制相應的文本框(這里是綠底的“確定”文本框)。然后,回到VBE用戶窗體,選中圖像控件,在左側的“屬性”窗口中找到“Picture”,選擇其內容(None),按Ctrl+v組合鍵,此時,該屬性的值由“(None)”變為“(Bitmap)”。同時,可以看到圖像出現在控件中,如下圖4所示。
圖4
仍然選中該圖像控件,在其屬性窗口中將BackStyle設置成0-fmBorderStyleNone,BackStyle設置成0-fmBackStyleTransparent,如下圖5所示。
圖5
復制一個剛才繪制的圖像控件,如下圖6所示。
圖6
這個圖像將代碼鼠標不在按鈕上時的狀態。在工作表中復制相應的文本框(這里是白底的“確定”文本框),然后按照上文所示的操作將其粘貼到該控件的Picture屬性中,得到一個白底灰字的圖像按鈕,如下圖7所示。
圖7
接著,將其拖放到綠底白字的按鈕上方,
結果如下圖8所示。
圖8
按照上面的操作,再創建一個名為“取消”的圖像按鈕,如下圖9所示。
圖9
將這些按鈕分別命名,以方便在代碼中使用:
白色確定按鈕:OKButtonInactive
綠色確定按鈕:OKButton
白色取消按鈕:CancelButtonInactive
綠色取消按鈕:CancelButton
編寫代碼
使用MouseMove事件來響應鼠標的動作,這個事件當鼠標移動到特定控件中時,執行其中的代碼。
下面是確定按鈕的MouseMove事件代碼:
Private SubOKButtonInactive_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,ByVal X As Single, ByVal Y As Single) ? ?Me.CancelButtoninactive.Visible = True ? ?Me.OKButtonInactive.Visible = FalseEnd Sub
當鼠標移動到確定按鈕上時,綠色按鈕顯示,白色按鈕隱藏。
下面是取消按鈕的MouseMove事件代碼:
Private SubCancelButtoninactive_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,ByVal X As Single, ByVal Y As Single) ? ?Me.CancelButtoninactive.Visible = False ? ?Me.OKButtonInactive.Visible = TrueEnd Sub
當鼠標移動到取消按鈕上時,綠色按鈕顯示,白色按鈕隱藏。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。