用Delphi制作個性化的菜單
www.netgocn.com
在應用程序編寫中,使用個性化的菜單可以美化界面,展示個性風彩。例如3721網站推出的《3721網絡特快》應用程序中的菜單就是一例。從其Windows編程的角度來說它僅是一個自繪式菜單而已。本文就使用Delphi制作這樣的個性化菜單作出說明(本文以Delphi4.0為例),制作一個可以有背景圖、鼠標在上移動選擇時的背景色有漸變色效果的彩色菜單。
一、關於Delphi中的自繪式菜單
要將Delphi的菜單(TMainMenu 或TPopupMenu)控件(Component)設為自繪式,有兩種不同的情況:
① 如果菜單上沒有圖標(即,沒有設定其Images屬性),則必須將菜單控件的OwnerDraw屬性設為True,菜單為自繪式。
② 菜單上有圖標(即,已設定其Images屬性),菜單為自繪式。
在此,我們必須首先把准備將其制作成有個性特征的菜單設為自繪式。
二、關於背景的重繪
通常Windows程序的標准菜單,在其被下拉或彈出時,鼠標在上移動時出現的選擇條背景是一單一的顏色,現在我們要將其重繪為有漸變色效果的背景,另外如果要在其背景上繪制圖形(您見過這樣的菜單嗎?),則應先繪圖、後繪漸變的背景。這些繪制工作的完成只需簡單使用Delphi提供的畫布(Canvas)對象。
三、關於重繪圖標
如果菜單上有圖標,則最好為各菜單項指定ImageIndex索引號,而不要使用其Bitmap屬性。這樣在為各菜單項指定了ImageIndex索引號後,可以直接用其TImageList的Draw方法在同一個畫布上繪制相應的圖標。
四、關於重繪菜單文本