Delphi XE2でVCLアプリケーションにスタイルを適用しましたが正常に動作しますが、メインメニューでスタイルが無視されたようです。添付の画像を参照してください。これは正常な動作ですか? Delphi XE2 Style:メインメニューが無視される
メインメニューにスタイルを適用する方法についてのアドバイスはありますか?
Delphi XE2でVCLアプリケーションにスタイルを適用しましたが正常に動作しますが、メインメニューでスタイルが無視されたようです。添付の画像を参照してください。これは正常な動作ですか? Delphi XE2 Style:メインメニューが無視される
メインメニューにスタイルを適用する方法についてのアドバイスはありますか?
これは、Vclスタイルフックの制限です。これは、TMainMenuBarStyleHook
Vclスタイルフックの制限です。この種の問題を解決する通常の方法は、新しいTMainMenu
スタイルフックを作成して登録することですが、残念ながらこのVclスタイルフックはTFormStyleHook
(フォームのvclスタイルフック)によって内部的に使用されるため、新しいフォームを作成する必要がありますスタイルのフックも同様に、これは多くの作業を意味します。
私の提案は、TMainMenu
の代わりにTActionMainMenuBar
コンポーネントを使用しています。このコンポーネントは、vclスタイルでうまく動作します。
おそらく、最初からフォームフックを再作成するのではなく、メモリ内のパッチを使うことができますか? –
この特定のケースでは、迂回路を使用してメソッドをメモリにパッチするには、Vclスタイルフックを一から書き込むのと同じような努力が必要です。 – RRUZ
参照[ 'このcomment'](http://theroadtodelphi.wordpress.com/2012/03/06/adding-vcl-styles-support-to-a-tpopupmenu-in-2-コード行/#コメント1756)。 Rodrigoは、 'TMainMenu'の代わりに' TActionMainMenuBar'を使うことを提案しています。しかし彼はまもなく答えが返ってくるでしょう、私はこう言っています: – TLama