2011-06-19 16 views
4

TActionMainMenuBarを使用する場合、アクションコンポーネントとサブメニューを右から左に並べる方法はありますか? falseにBidiparentを設定delphi TActionMainMenuBar Direction右から左

を変更することがつくれ双方向のdidntを変更

は大丈夫に揃えを変更

を助けなかったOnShow

Application.BidiMode := bdRightToLeft; 
    SysLocale.MiddleEast := true; 

任意のより多くのアイデアでSETING

を助けていませんでし?

更新:actionManager.StyleをWindows XPに変更すると助けになりました。

私は最初にコードをカスタマイズしましたが、変更はデザインタイムにのみ反映され、「カテゴリ」にのみ反映されました。行為そのものは左にとどまった。

+0

また、 'ActionManager.ActionBars [0] .GlyphLayout'または' ActionManager.ActionsBars [0] .Items [*]。BackgroundLayout'は動作を変更しないようです。しかし、私はこれらのプロパティが何をすべきかわからない。 – NGLN

答えて

2

これは、TActionMainMenuBarコンポーネントの既知のバグであり、Quality Centralに送信されました。QC#10877

2005年に報告された不具合は修正されていないため、これまでに修正されることは期待できません。

簡単な回避策があり、TMainMenuに頼る必要があると思われることは非常に疑いがあります。自分のプロジェクトにActnMenus VCLユニットを組み込み、そのバグを見つけて修正することができれば幸いです。私はTMainMenuTPopupMenuの多数のバグのためにこの時間と時間をもう一度やりましたが、私はTActionMainMenuBarの経験がなく、右から左の図面では何の経験もありません。

0

TMainMenuを使用してBiDiMode = bdRightToLeftを設定すると、すべてが正しいサイトにあります。

+1

OPは、メニュー項目の左側にサブメニューが必要です。また、私は彼/彼女は、グリフ、キャプション、ホットキーが反転したと思います。 – NGLN

+0

@NGLN 'TMainMenu'はRTLをうまく処理します。実際、ある方法では、実際にはRTLモードよりもLTRモードよりも優れています。 –

+0

@David Whaa、Ravautは標準のTMainMenuを使いませんでした。ダー... – NGLN