2009-08-13 39 views
0

在Delphi 2007程序中,我在TAction列表中使用TMainMenu引用操作。我有前綴的主標題的熱鍵與符號:爲什麼我不能在Delphi中獲得熱鍵下劃線TMainMenu

&File | &Edit | Ev&aluate | ... 

在設計中考慮到這些熱鍵下劃線爲我所期望的,但是當我啓動該程序不再被強調,但他們仍然工作。與此相反,對於所有子菜單圖標

&File 
    &New ... 
    &Open ... 

下劃線如預期顯示。

我知道Windows的pisplay屬性選項「隱藏帶下劃線的字母或鍵盤導航,直到我按下Alt鍵」。並已禁用它。在所有其他的程序中,這很好,包括Delphi IDE。

如果我創建一個新的VCL應用程序,並添加一個TMainMenu和一些菜單項,它將按預期工作。

這讓我感到莫名其妙,真的。

TMainMenu組件是否有任何屬性,或者是我必須更改的應用程序選項?由於某種原因,「啓用運行時主題」項目選項變灰,這可能是問題嗎?如果是,這是什麼原因?

+0

類似的可能的重複問題:http://stackoverflow.com/questions/280247/menu-accelerator-keys-not-showing-up-delphi-2009 – stukelly 2009-08-13 11:38:26

+0

不,它是不同的。我已經檢查了Windows設置。 – dummzeuch 2009-08-13 15:19:08

+0

如果您正在討論Windows設置:「隱藏帶下劃線的鍵盤導航字母直到我按下Alt鍵」,我的選項也被取消選中(即禁用)。請參閱下面的答案。 – lkessler 2009-08-14 01:19:20

回答

1

解決此問題的最簡單方法似乎是使用jvcl中的TJvMainMenu代替TMainMenu。我嘗試了當前版本3.38,但可能已在早期版本中解決了問題。由於我使用的是jvcl,所以它並沒有增加我的程序的大小。你的里程可能會有所不同,jvcl是一個巨大的圖書館。

2

這可能不是Delphi問題。我剛剛在WinXP上用IE8試了一下。在我的機器上,顯示屬性設置爲需要Alt鍵,下劃線按預期工作。但是,如果取消選中該複選框,在主菜單項(即使使用Alt鍵)上出現下劃線從不,但始終出現在文件,編輯,查看等子菜單中(如您所述)...... ..除非微軟在德爾福寫的IE8 :-)

0

如果可能的話,使用主菜單的空圖像列表。這樣你可以強制delphi正確繪製菜單。 (但在vista和w7中看起來很醜)

0

您確定您沒有在MainMenu中將OwnerDraw設置爲true嗎?

+0

是的,我確定。 – dummzeuch 2009-08-13 17:45:09

1

我問同樣的問題去年出現了一些優秀的答案: Menu Accelerator Keys Not Showing Up Delphi 2009

總之,這似乎是一個Delphi的錯誤,我報告給Embarcadero公司在: http://qc.embarcadero.com/wc/qcmain.aspx?d=68816

然而,他們沒有解決它的辦法,所以除非別人(也許你)也抱怨,我不認爲它會得到解決。

Step對我的問題的回答是指在Delphi論壇上報告的可能相關的錯誤: ALT Key press causes controls to disappear under Themes in Vista and XP。這一個被標記爲「已解決」,並在評論中列出了幾個可能的修復。我沒有機會通過這些。


順便說一句,因爲我去年問這個問題,我有一個新的電腦與Vista。同樣的問題仍然會發生,即使在Vista易用的訪問中心設置:「下劃線鍵盤快捷鍵和訪問鍵」被設置。所以Delphi錯誤依然存在。

我很驚訝地發現默認情況是這是未經檢查的。我想在Vista中,他們想要一個看起來更乾淨的菜單,假設沒有多少人使用加速鍵。

+0

請注意[QualityCentral現在已關閉](https://community.embarcadero.com/blogs/entry/quality-keeps-moving-forward),因此您無法再訪問'qc.embarcadero.com'鏈接。如果您需要訪問舊的QC數據,請查看[QCScraper](http://www.uweraabe.de/Blog/2017/06/09/how-to-save-qualitycentral/)。 – 2017-06-09 18:03:58

相關問題