タイトル一覧   関連タグ: Win VB
タグ:Win VB タイトル:透明な背景のForm上に半透明の楕円を
1 2 3 4
1:  お名前:Jumbo 2004/11/24 18:54:10

お久しぶりです。試験地獄から帰ってきたJumboです。約1ヶ月のご無沙汰でした。
早速質問で恐縮ですが、TransparencyKeyで背景を透明にしたForm上に半透明の楕円を塗りつぶしたいのですが、Color.FromArgb(128, Color.White)を使うと元のFormの背景色が出てきてしまいます。どうすれば背景を透明のまま半透明の楕円を描画できるでしょうか?もしかして無理?
2:  お名前:Kazuki 2004/11/25 8:33:11

FormのOpacityプロパティじゃ駄目かな?
3:  お名前:Jumbo 2004/11/25 11:48:54

回答ありがとうございます。
OpacityはForm全体を半透明にするプロパティですよね。わがままなようですが楕円だけ半透明にしたいんです。
やっぱり無理なんですかね。
4:  お名前:みゃみゅ玉子 2004/11/25 12:07:16

みゃみゅ玉子です。

楕円だけ半透明・・・
楕円をユーザーコントロールに書いて、そのユーザーコントロールを半透明にしても同じですかね?
# ☆型ボタンができるのだから、いけそうな気がします。

あ、OpacityはFormしか使えないんですね・・・
じゃあだめかぁ・・・

5:  お名前:中 博俊 2004/11/25 12:29:46

自前で書けば何とかなるかな。
フォームごと書かないとだめかな。
上に楕円がのっていたら、楕円に描画を任せるとか。


6:  お名前:小野@どっとねっとふぁん 2004/11/25 12:58:37

そもそも元のFormの背景色をTransparencyKeyで透明にしたんじゃないの?
って、これできないんだっけか。
7:  お名前:ぺがらぼ 2004/11/25 13:08:28

ここで
http://pegalabo.net/cgi/room/c-board.cgi?cmd=ntr;tree=39;id=dotNet
色々な議論をしました。少しは参考になるかも...

結局、ユーザーコントロールを作成するのが手っ取り早いかな...

8:  お名前:中 博俊 2004/11/25 15:11:01

ユーザコントロールだけで何とかなるの?
9:  お名前:Jumbo 2004/11/25 15:32:58

Formを重ねるとうまく行きそうな予感がするんですが、MDIの子フォームだと、下に半透明、上に透明なForm配置すると半透明が消えて透明Formだけになってしまう...
通常Formでできないか思考中ですが、X-Windowのように子Windowの座標系を親Window基準にする方法が分かりません。親Formを移動させたら子Formも一緒に移動する方法ご存じありませんか?
10:  お名前:渋木宏明(ひどり) 2004/11/26 0:21:14

要するに、画面上に半透明の円形ウィンドウが表示できればよいということなら、希望色で塗りつぶした半透明ウインドウに SetWindowRgn() して、円形にしてしまうとか。

1 2 3 4
お名前
メッセージ
次回のために入力情報を記録