是否覺得Delphi提供的菜單用起來實在沒有美感呢?你可以自己用Delphi自帶的VCL控制來實現一個IE風格的選單!特徵包括:懸浮按鈕、拖曳定位、圖形……所有的這些都不需要任何第三方控件,也不需要大量的程式設計!
實作一個IE風格的選單需要執行以下步驟的工作:
1、以正常方式定義一個普通的選單;
2、從視窗中隱藏已定義的選單;
3.在視窗中加入CoolBar和ToolBar,作為功能表列;
4、將選單映射到ToolBar的按鈕上;
5、為實現特殊效果進行程式設計(可選)。
第一步,以正常方式定義一個普通的選單。
在視窗中增加一個TMainMenu控件,然後按通常的方式定義選單項目、圖示、快捷鍵等。
第二步,從視窗中隱藏已定義的選單。
定義好的選單會自動顯示在視窗上。這是因為在向視窗增加TMainMenu控制項時,TForm物件的Menu屬性會自動設定為增加的TMainMenu物件。為了使用我們自己定義的選單,必須把這個選單隱藏起來。清除TForm.Menu,定義好的選單就不會自動顯示了。
第三步,在視窗中加入CoolBar和ToolBar,作為功能表列。
在視窗中加入一個TCoolBar控件,然後把一個TToolBar控件放在它裡面。設定TCoolBar和TToolBar的AutoSize屬性為True,設定TToolBar的Flat屬性為True,並且設定TToolBar的ShowCaptions屬性為True。這樣,視窗上方就出現了一個空白的選單列。下一步我們將在這個選單欄中增加選單項目。
第四步,將選單映射到ToolBar的按鈕上。
用右鍵點選TToolBar,從彈出的選單中選New Button,為選單列增加第一個按鈕。設定這個按鈕的AutoSize屬性和Grouped屬性為True,然後把Caption屬性改為選單項目的文字。例如,Caption屬性可能會被設定為&File。最後,設定這個按鈕的MenuItem屬性為TMainMenu中定義的對應的選單項目。例如,MenuItem屬性可能會被設定為mnuFile。經過這些設置,按鈕就和選單項目連結到了一起,點擊按鈕時將會彈出對應的選單了。
第五步,為實現特殊效果進行程式設計(可選)。
經過前面四步的工作,新菜單已經可以正常運作了。但是,如果想要實現其他的一些特效,例如CoolBar的拖曳定位等,需要再進行一些程式設計的工作。這些內容已經不是本文的主題所在,就不加以討論了,有興趣的讀者可以參考Delphi的幫助。
歡迎各位讀者對本文提出自己的見解。