2013-02-14 37 views
5

我試圖創建在Delphi XE3應用程序的菜單和工具欄,如下所示(從程序我有):德爾福:樣式化TMainMenu和TToolBar在TCoolBar

Main menu and toolbar in TCoolBar

我能夠通過這樣做來複制這種外觀的一部分下面:

  1. 創建一個新的VCL Forms應用程序
  2. 添加TMainMenu並插入模板菜單的文件/編輯/ etc。
  3. 添加TCoolBar到窗體
  4. 添加TToolBarTCoolBar
  5. 添加TToolButtonTToolBar每個文件/編輯/ etc的。並選擇組屬性
  6. 從窗體中刪除Menu屬性(所以沒有程序菜單顯示)
  7. 將每個TToolButton的MenuItem屬性分配給相應的File/Edit/etc。
  8. 添加第二個TToolBarTCoolBar第一個

這裏下面是它看起來像:

My main menu and toolbar in TCoolBar

這有點類似,但仍然是丟失了所有的風格元素來修改一下新的應用程序菜單。

我的問題是,有誰知道如何實現類似的外觀,也許與第三方組件庫?原始開發人員似乎很可能使用了第三方VCL庫。除了風格化的菜單和TCoolBar之外,我還想要陰影。

我試過Raize組件,TMS高級工具欄&菜單,並且正在嘗試DevExpress VCL組件。他們似乎都沒有提供解決方案,但也許我對他們不夠熟悉,尚未弄清楚。

+3

您是否嘗試過使用'TActionMainMenuBar'? – 2013-02-14 23:37:07

+4

+1 @Sertac。 [這裏](http://stackoverflow.com/questions/11963441/tmainmenu-is-not-shown-when-the-vcl-styles-is-removed-from-the-nc-area)RRUZ還建議使用' TActionMainMenuBar'而不是'TMainMenu',我相信這個傢伙對VCL風格的評價。 – kobik 2013-02-14 23:53:30

+2

@kobik - 在你關聯的問題中有趣的用法......事實上,無論從開發者那裏得到什麼樣的恩典,風格都可能歸功於他(不知道這是否是英文,意思就是恭維:))。 – 2013-02-15 00:02:32

回答

5

德爾福有一個ActionBands演示,可以告訴你如何使用TActionMainMenuBar(和TActionToolBar)爲您的菜單「開箱即用」獲得此外觀。只要改變Style菜單XP Style在演示:

ActionBands demo

你腳步的休息似乎很好完成。有關菜單項和工具欄按鈕上的圖像,請參閱演示中菜單和工具欄上ImageList組件與TActions的關聯使用。

+0

謝謝,這正是我所需要的。但有一個問題 - 即使我在編譯和運行後從列表中選擇「Menu Shadows」,我的示例應用程序也不會像您的示例應用程序那樣在菜單上顯示陰影。 'TActionMainMenuBar'已經默認設置了Shadows屬性。 – spurgeon 2013-02-15 01:18:56

+0

*是*很奇怪。我從該應用程序的運行實例(Win7 64,從新建的XE3 IDE運行)中截取屏幕截圖。你在運行什麼操作系統? – 2013-02-15 01:27:36

+0

更有趣的是,從'Vcl.ActnMenus.TActionMainMenuBar.Shadows'文檔:「用戶可以通過操作系統禁用陰影,在這種情況下陰影設置將被忽略。」在我的其他Windows 7虛擬機中,它顯示陰影。所以,在我的開發虛擬機中,我關閉了陰影。至於該屬性是由操作系統存儲的,我不知道。 – spurgeon 2013-02-15 01:30:18