2

カスタム FireMonkey スタイルを作成するとき、TBitmapLinks のコレクションである 1 つ以上のプロパティ(TButtonStyleObject.NormalLink など)を含む TButtonStyleObject などのスタイル オブジェクトに遭遇することがよくあります。個々の TBitmapLink は、CapInsets、Scale、および SourceRect の 3 つのプロパティを定義します。SourceRect には、コントロールの一部の側面を描画するために使用されるビットマップのセグメントの座標が含まれています (詳細については、FireMonkey スタイル デザイナでの TBitmapLinks の使用を参照してください)。

私の質問は、CapInsets は何をするのですか?

4

1 に答える 1

3

単一のビットマップを使用してサイズ変更可能なコンポーネントをペイントする方法に関連していると思います。CapInsets は、ビットマップの伸縮可能な部分を表す必要があります。たとえば、コンポーネントのサイズを変更するときに境界線が細すぎたり、大きすぎたりしないようにします。

ボタンと 25x50 ピクセルのビットマップが背景になると考えてください。小さな境界線を持つ単色の長方形だと考えてください。ボタンのサイズを 25x500 ピクセルに変更するとどうなるでしょうか。左右の境界線が大きくなりすぎます (上下の境界線に比例しなくなります)。

ロシア語のこの記事以外のドキュメントは見つかりませんでした(イタリア語への翻訳は非常に悪いです。英語の翻訳も私にはあまり明確ではありません)。「背景」セクションを探してください http://habrahabr.ru/post/137851/

HTH

于 2014-11-24T22:47:42.963 に答える