是否覺得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的幫助。
歡迎各位讀者對本文提出自己的見解。