問題タブ [transparent-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
32825 参照

c# - 他のコントロールの上にあるときに機能する透明なコントロールを作成する方法は?

一部の領域で透明にする必要があるコントロール (System.Windows.Forms.Control から派生) があります。SetStyle() を使用してこれを実装しました。

これで、フォームと透明なコントロールの間にコントロールがない場合に機能します。ただし、透明なコントロールの下に別のコントロールがある場合 (ここでの使用例)、それは機能しません。中間コントロールは描画ではありませんが、下のフォームは透けて見えます。CreateParams をオーバーライドし、次のように WS_EX_TRANSPARENT フラグを設定することで、必要な効果を得ることができます。

ここでの問題は、コントロールの描画が本当に遅くなることです。コントロールは既にダブル バッファリングされているため、何もする必要はありません。パフォーマンスへの影響が非常に大きく、受け入れられません。他の誰かがこの問題に遭遇しましたか? 私が見つけることができるすべてのリソースは、方法 1 を使用することを提案していますが、これも私の場合は機能しません。

編集:回避策があることに注意してください。子 (透明) コントロールは、単に親の Graphics オブジェクトに自分自身を描画することができますが、それは本当に見苦しく、解決策がまったく好きではありません (私が持っているすべてかもしれませんが)。

EDIT2: .NET で透明性がどのように機能するかについてのアドバイスに従って、透明なコントロールを含むユーザー コントロールに IContainer インターフェイスを実装しました。ISite を実装するクラスを作成しました。自分の子コントロールを UserControl の Components コレクションに追加しました。Container プロパティはデバッガーで正しく並んでいますが、まだ透過効果が得られません。誰にもアイデアはありますか?

0 投票する
1 に答える
2940 参照

c# - c#: transparent in tabControl

I'm looking for a way to cause a tabControl (framework 2.0) to be transparent in back ground. I have a custom tabControl that inherite from microsoft tabControl. when I'm trying to paint a transparent image in OnPaintBackground the background becomes black. the problem is that I have under the tabContol a panel with background image so I can't paint in the method OnPaintBackground only the color. I'm looking for a way to find the image which located exacly under the tabControl so I'll be able to paint with graphics.drawimage and it will look transparent.

Does someone has an idea with code? (or another way to do it)

Note: this.SetStyle(ControlStyles.SupportsTransparentBackColor, true) - does not help!

0 投票する
1 に答える
1557 参照

vb.net - VB.net 透過制御の問題

上記のようにコントロールを作成しました。このコントロールを使用すると、アルファ チャネルとランダムな形状の png をインポートできます。そして、他のコントロール、つまりテキストボックス、ピクチャボックスなどの上に表示できます。背景には、親コントロールを表示するだけでなく、そのすぐ下にあるものを常に表示する必要があります。

静的モード、つまりフォームに静止している場合は機能しました。しかし、ドラッグ/移動しようとすると、コントロールが適切にレンダリングされず、他のコントロールの下にも移動します。

0 投票する
1 に答える
7998 参照

wpf - WPF: オーバーレイ/装飾のマウス クリックを無視しますが、MouseEnter イベントを処理します

私が本当に欲しいのは、マウスクリックイベントを無視するが、マウスの入力イベントと離脱イベントをトラップするバージョンの IsHitTestVisible です。

背景: 情報オーバーレイは、フォーカスのあるコントロールの下にポップアップ表示されます。これは要件であるため、この動作を自由に削除することはできません。これは、イメージ ブラシで塗りつぶされた Rectangle シェイプを含む adorner を使用して実装されます。すべてのコントロールはプログラムで作成され、XAML は関与しません。

望ましい動作: ユーザーが Rectangle の上にマウスを置くと、部分的に透明になる必要があります。これは、オーバーレイの下にある他のコントロールを表示してクリックできるようにするためです。ユーザーがオーバーレイをクリックすると、ユーザーがクリックした場所で、オーバーレイの下にあるコントロールにクリックが渡される必要があります。

問題: IsHitTestVisibleを True に設定してマウス クリックが通過できるようにすると、MouseEnter イベントが発生しません。

IsHitTestVisible True のままにして、2 ~ 3 個を除くすべてのイベントを装飾の下の正しいコントロールに渡す簡単な方法はありますか? WPFは明らかに私のためにこれを行うことができるので、カーソルの下にあるコントロールを計算する必要のないソリューションを探しています。

または、IsHitTestVisible を False に設定してから、別の簡単な方法を使用して、マウスがアドナーの上にあることを判断できますか?

更新:私はまだ答えを望んでいますが、今のところ最も有望な解決策は、IsHitTestVisible を true のままにして、WPF ヒット テスト API を使用して、マウス カーソルの下にあるコントロールの種類を把握することです。それが私が知っているものだったら、それに Click コマンドを送ります。ただし、これが価値があるかどうかはわかりません。今のところ、クリックするとオーバーレイが消えるので、ユーザーは 2 回クリックするだけです。

ありがとう!

0 投票する
0 に答える
198 参照

android - HTML で透明度または不透明度のコントロール バーを実装する方法

互いに重ね合わされた 2 つのマップがあります。ここで、それらの不透明度コントロールを追加したいと思います。しかし、私はそれを行う方法がわかりません。よろしくお願いします。webview に追加された HTMl でマップをオーバーレイしています。ありがとうアスタ

0 投票する
0 に答える
983 参照

c# - C#のコントロール(アイテム)に影響を与えずに0%のフォーム不透明度

コントロール (項目) に影響を与えずにフォームの不透明度を 0% にするにはどうすればよいですか?

含まれているコントロールの不透明度を変更せずに、フォームの不透明度を変更することを見つけましたが、答えはありません。答えは何ですか?

0 投票する
1 に答える
354 参照

user-controls - グラデーションの透過性の問題 - UserControl の Panel のラベル、最終的には親 Form に表示される

これは何度も尋ねられていることは知っていますが、私が解決しようとしている方法ではありません。

UserControl の Panel に Labels があり、UserControl はフォームに入ります。

Label.BackColor = 透明。

パネルは DevExpress のもので、グラデーションの背景を設定しました。

問題: ラベル透明ではありません。それらはそれぞれ、テキストの周りに白い塗りつぶされた長方形として表示されます。(2 つのグラデーション カラーの最初の色が白であるため、白はパネルから来ていると思います。)

この問題について私がグーグルで調べた限りでは、独自のラベル コントロールをロールし、独特の GDI+ コマンドを起動し、コントロールを無効にし、ペイント イベントをフックし、かき混ぜるシーシャンティを歌い、片足を頭上に保持し、...

本当に?Labelは".BackColor=Transparent"を許可しませんか? なぜそれがうまくいかないのですか?

そして、これを乗り越える最善の方法は何ですか?

0 投票する
0 に答える
335 参照

c# - MFC で透明な背景を持つ winforms コントロールを使用する

全て。Winforms ユーザー コントロールを使用する MFC アプリを作成しています。

C# で丸みを帯びたコントロールを作成し、MFC ホスティング テクノロジを使用して MFC ダイアログに配置しました。ただし、コントロールは背景を透過的に表示しません。そのため、非常に貧弱に見えます。透明度に関連するコントロール プロパティを設定しようとしましたが、役に立ちません。

コントロールをきれいにするために誰が手伝ってくれますか?

よろしくお願いします。

0 投票する
1 に答える
3269 参照

delphi - 透明なグループ ボックス

Delphi ネイティブ コントロールのTGroupBoxを継承し、その Paint メソッドをオーバーライドして角丸四角形を描画します。

Create パラメータをオーバーライドした後の Paint メソッドは次のようになります。

私が直面している主な問題は、透明なグループ ボックスの上にラベルがほとんどないことです。フォームを開くとラベルはきれいに見えますが、テキストが変更されると、ラベルの境界四角形が表示されます。これは、透明なボックスの上に奇妙に見えます。

フォームのサイズを変更してもグループ ボックス自体が消えてしまい、フォーカスを別のアプリケーションに変更してアプリケーションを元に戻すと、グループ ボックス自体が描画されます。

描画に関して何か不足していますか? 対処する必要がある Windows メッセージはありますか???

前もってありがとうラフル

0 投票する
2 に答える
17868 参照

delphi - コンポーネントを表示したままフォームを透明にする方法は?

透明な領域を持つ PNG 画像を含む 1 つのフォームを持つプログラムを作成する必要があります。フォームは非表示にする必要がありますが、画像は表示したままにし、透明な領域は透明のままにする必要があります。問題は画像の透過性です。この場合、メイン フォームは透明で非表示ですが、すべてのコンポーネント/コントロールは表示されたままです。ただし、PNG 画像の透明部分は透過しません。透明性を保つには?