はい、それは可能です。テーマのすべてのページで同じ静止画像がある場合は、Image
要素をすべてのページ要素の上に置くことができます。必要に応じて、1ページごとに異なる背景が必要な場合は、まず画像をページに配置します。私は次のようにテーマを編成します:
<Theme>
<Window />
<Font /> <!-- as many as necessary -->
<Image /> <!-- global background image -->
<Page> <!-- repeat for each page -->
<Image /> <!-- per-page background image -->
<other controls />
制御要素の順序は逆順でZオーダーを定義します。最初のコントロールはボトムにあり、コントロールはそこからスタックされています。それで、背景がImage
である必要があります。
透明テキストは、さまざまなレベルの良さで可能です。最初に白い背景を取り除くには、透明テキストに使用されるFont
要素からBackground
属性を削除する必要があります。 Background
属性がない場合は、本質的に透過的なテキストに対してヌルブラシを使用することを意味します。
透明度のレベルは、コントロールによって異なります。チェックボックスは透明テキストを尊重するようなことはありません。また、透明テキストは再描画されてもうまく動作しません。あなたは古いテキストが残っているのを見るでしょう。したがって、透明度は更新されないText
でのみ機能します。
とにかく、うまくいけば上のことが始まります。透明性やテーマを向上させるために貢献したい場合は、src\dutil\thmutil.cpp
のコードをご覧ください。たぶんあなたはそれを完全に動作させる方法を見つけ出すことができます。
あなたのソリューションは非常に役に立ちました。ありがとうございました!私はあなたがチェックボックスをどのように扱わなければならないか知りたいのですが?フォントを透明に設定しても、白い背景が残ってしまいます。ハイパーテキストコントロールやプログレスバーのテキストも同じです。あなたの回避策は何ですか?あなたはそれをバックグラウンドと言いました。あなたはそれを詳しく教えてもらえますか? – Thracian
ちょっと@Thracian、もう少し遅いですが、私がやったことはちょうどそのようにチェックボックスを受け入れて(おそらく画像でそれを回避する)、進捗テキストに使用されるフォントの背景色を白の背景にも設定しました。 – redwyre