2013-04-04 12 views
7

ウィンドウを埋めるようにImageを設定すると、他のコントロールの上にレンダリングされ、通常はウィンドウをペイントすることが混乱するようです。ファイル内の順序は助けには見えませんが、内部に置くとPageセクションになり、少しのように動作します。バーンテーマでフルウィンドウの背景イメージを使用することは可能ですか?

ウィンドウ内のすべての背後に画像を表示する方法はありますか?

また、他のコントロールは、テキストが白い背景、ボタンに白い四角形を持っているときに正しく上にレンダリングされないようですが、どこかに透明モードが必要だと思いますか?


編集:ここでは

は、問題の例では、ボタンやチェックボックスをマウスオーバーし、選択のテキストから見えるようになった:

problem image

答えて

8

私はウィンドウの背景を使用したいと思ったものを得ることができましたが、背景としてImageを使用することができませんでした。

WindowあなたはTheme/@ImageFileで指定した画像を使用して、しかし、これは、フォント、背景を参照Window sがウインドウ画像の背景を上書きしますよう、十分ではありません0にWindow/@SourceXWindow/@SourceYオフセットを指定することができます。背景を指定しないでフォントを使用する必要があります。

 
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010" 
    ImageFile="background.png"> 
    <Window Width="485" Height="300" HexStyle="100a0000" 
     FontId="0" SourceX="0" SourceY="0">#(loc.Caption)</Window> 
    <Font Id="0" Height="-12" Weight="500" 
     Foreground="000000" 
             
  
   
              Background="FFFFFF"
             
  >Segoe UI</Font> 

私の周りに仕事をしていた他の二つの問題があります。

  • チェックボックスは、背景色に従ういけないが、それは、ちょうどそれに対処する必要が使用しているため、一般的なコントロールのwixstdbaのです。
  • 進捗テキストは変更されますが、背景が再描画されることはありません。そのため、背景を塗りつぶして作業します。

dialog with background image

+0

あなたのソリューションは非常に役に立ちました。ありがとうございました!私はあなたがチェックボックスをどのように扱わなければならないか知りたいのですが?フォントを透明に設定しても、白い背景が残ってしまいます。ハイパーテキストコントロールやプログレスバーのテキストも同じです。あなたの回避策は何ですか?あなたはそれをバックグラウンドと言いました。あなたはそれを詳しく教えてもらえますか? – Thracian

+0

ちょっと@Thracian、もう少し遅いですが、私がやったことはちょうどそのようにチェックボックスを受け入れて(おそらく画像でそれを回避する)、進捗テキストに使用されるフォントの背景色を白の背景にも設定しました。 – redwyre

4

はい、それは可能です。テーマのすべてのページで同じ静止画像がある場合は、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のコードをご覧ください。たぶんあなたはそれを完全に動作させる方法を見つけ出すことができます。

+0

これはウィックスのためのテーマの明確な理解を持っているt'net上の数少ない場所の一つであった、なぜ笑私は思っていました。貢献者の一人であることが分かっていたはずです。おかげでロブ。 – penderi

+0

私は頻繁に3つの場所:私のブログhttp://robmensching.com/blog/、[email protected]メーリングリスト、およびStackOverflow 'wix'タグ。 :) –

+1

これは私のために働いていない、画像の上にマウスを移動したときに、画像の上に描画されます。私は明日thmviewerのためのいくつかの画像と例を追加します。 – redwyre

3

WIXをテーマにしようとすると、のキーフィールドが見つかりました。

可視= "yes" を

要素が見え意味するものではありませありません。 要素がの場合、常にが表示されます。すべてのページ。

関連する問題