- PR -

子のフォームを透明にするには

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/09/18
投稿数: 2
投稿日時: 2005-09-18 18:31
今MDIアプリケーションを作っています。
それで親フォームの中にある子フォームを透明にしたいのですがどうすればいできるでしょうか?プロパティのOpacityをいじると透明にできるようですが、親のプロパティをいじらないと子のフォームが透明になりませんでした。でもそうすると親フォームまで透明になってしまうので親は透明にしないで子のフォームのみを透明にするにはどうすればいいですか。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-09-19 10:07
引用:

それで親フォームの中にある子フォームを透明にしたいのですがどうすればいできるでしょうか?



技術的に不可能と言い切ることはできませんが、1つ2つプロパティをセットしたり、いくつかのメソッドをオーバーライドする程度では実現出来ないです。

今のところ、Windows の半透明ウィンドウの機能はトップレベルウィンドウしかサポートしておらず、.NET の Form の半透明化も Windows のこの機能を基本としているため、この延長線上で「トップレベルウィンドウは不透明、小ウィンドウは半透明」という状況を作り出すことは出来ません。

ですが、「物凄く頑張る」ば技術的には不可能ではありません。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-09-19 10:29
引用:

渋木宏明(ひどり)さんの書き込み (2005-09-19 10:07) より:
ですが、「物凄く頑張る」ば技術的には不可能ではありません。


半透明にする機能をOSがサポートする以前から、一部のソフトウェアでは半透明で表示する事を実現していたから、出来なくは無いです。リージョンを使ってディザ状に穴を開けるとか、背後の画像をキャプチャーしてウィンドウ内に表示しておくとか・・・。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-09-19 12:10
引用:

半透明にする機能をOSがサポートする以前から、一部のソフトウェアでは半透明で表示する事を実現していたから、出来なくは無いです。リージョンを使ってディザ状に穴を開けるとか、背後の画像をキャプチャーしてウィンドウ内に表示しておくとか・・・。



知っています。

ですが、そういった操作を BCL などが積極的にサポートしているわけではないので

引用:

1つ2つプロパティをセットしたり、いくつかのメソッドをオーバーライドする程度では実現出来ないです。



てことです。
1

スキルアップ/キャリアアップ(JOB@IT)