2017-03-15 1 views
2

ちょうど良いことですが、Windows Ribbon Framework for Delphiで遊んで始めましたが、Delphiが提供するカスタムスタイルをアクティブにすると、フォームのクライアントエリアの上部に白いバンドが表示されていましたRibbon & Custom StyleDelphiとカスタムスタイル用のWindowsリボンフレームワーク

カスタムスタイルが適用されていない場合は、ホワイトバンドは表示されません(プロジェクトオプション>アプリケーション>外観)。私はDevExpress Skinsを使用しているときに同じ動作に気づいた。

これはフレームワークの問題ですか?私はDelphi XE4を使用しています。

ありがとうございました。

+0

スタイルはあまりうまく実装されていません。古いバージョンではスタイルが悪くなります。 –

+0

@RRUZは、スタイルの専門家です。彼の修正や拡張のいくつかは、[vcl-styles-utils](https://github.com/RRUZ/vcl-styles-utils)にあります。 –

+0

問題の核心は、VCLスタイルは、スタイル設定されるように明示的に設計されたコントロールにのみスタイルを適用することです。これは、通常、Delphiであらかじめパッケージ化されたすべてのコントロールです。ただし、サードパーティのコントロールには必ずしも適用されません。いくつかのサードパーティのライブラリ*はスタイルを利用するかもしれませんが、リボンは独占的なスタイリングではありません。前述したように、 'vcl-styles-utils' *にはリボンの修正があるかもしれません。 –

答えて

2

VCLスタイルは、WindowsリボンフレームワークまたはリボンUIをサポートしていません。ただし、技術的にはVCLスタイルとリボンUIを同じアプリケーションで使用できますが、リボンUIが使用されているフォーム(およびコントロール)でスタイリングを無効にする必要があります。

+0

XE6 VCLの時点でTribbonはVCL Stylesでうまく動作します一緒にかなりの数年間一緒に。 – Vancalar

+0

XE6では、VCLスタイルとのTRibbonの互換性が向上しましたが、一部のコントロールではスタイル設定を無効にするために 'StyleElements'プロパティで再生する必要があります。 – RRUZ

+0

私はちょうどリボンを含むフォームのStyleElementsプロパティを使って遊んだところ、それは具体的にはseBorderの値であると思われます。これはリボンメニューを含むメインフォームのためにそれを無効にすることができ、私のアプリケーションの他のすべてのフォームに対してスタイルを有効にできるので、私にとっては良い回避策になる可能性があります。ありがとう! –

関連する問題