C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Form透過時にバックグラウンドで動作中の別Formの動作


(過去ログ 35 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■17428 / inTopicNo.1)  Form透過時にバックグラウンドで動作中の別Formの動作
  
□投稿者/ tij (1回)-(2008/04/24(Thu) 00:16:19)

分類:[C#] 

開発環境:WindowsXP
使用言語:VC#2005

【現状】
Form1、Form2を作成し、Form1をTopMost()=trueにしています
Form1,Form2は両方ともFullScreen表示です。
Form2では常にWindowsMediaPlayerをPlayさせています。(Form1がTopMost()=trueのため画面上で視覚的には見えません)
Form1の透過率を50%にしたときにForm2のWindowsMediaPlayerの動画がActiveになっていません(真っ暗の状態)

【質問】
Form1の透過率を50%にしたときにForm2のWindowsMediaPlayerの動画が透けて見えるようにするにはどうすればよいのでしょうか?

引用返信 編集キー/
■17430 / inTopicNo.2)  Re[1]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ 渋木宏明(ひどり) (713回)-(2008/04/24(Thu) 00:53:29)
渋木宏明(ひどり) さんの Web サイト
> Form1の透過率を50%にしたときにForm2のWindowsMediaPlayerの動画が透けて見えるようにするにはどうすればよいのでしょうか?

実行環境次第です。

とりあえず、動画関連のアクセラレーションを全部無効にすれば出来そうなきがします。
環境によってはとても悲惨なフレームレートになってしまうかもしれませんが。

引用返信 編集キー/
■17431 / inTopicNo.3)  Re[2]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ 渋木宏明(ひどり) (714回)-(2008/04/24(Thu) 00:55:51)
渋木宏明(ひどり) さんの Web サイト
あと、Vista なら何も努力しないでも目的とする効果が得られるはずです。
Aero が有効である必要があるかも知れませんが、ひょっとしたらデスクトップコンポジションが有効なだけでもOKかもしれません。

引用返信 編集キー/
■17433 / inTopicNo.4)  Re[1]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ Azulean (87回)-(2008/04/24(Thu) 01:25:58)
XPではオーバーレイが有効な場合、特定の色(この場合は黒に近い色)の部分に動画が表示されるようになっています。
透過率1%以上のフォームを載せると、色が変わってしまうため、動画が表示されなくなります。

オーバーレイが有効である限り、XPでは目的としていることは実現できません。
(ハードウェアアクセラレータを無効化すると、オーバーレイを使わないモードになる可能性はある)

Vista(Aero)ではオーバーレイがなくなってるので、目的の効果が得られるのでは?ということのはず。
引用返信 編集キー/
■17434 / inTopicNo.5)  Re[2]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ tij (3回)-(2008/04/24(Thu) 03:04:18)
No17433 (Azulean さん) に返信
> XPではオーバーレイが有効な場合、特定の色(この場合は黒に近い色)の部分に動画が表示されるようになっています。
> 透過率1%以上のフォームを載せると、色が変わってしまうため、動画が表示されなくなります。
>
> オーバーレイが有効である限り、XPでは目的としていることは実現できません。
> (ハードウェアアクセラレータを無効化すると、オーバーレイを使わないモードになる可能性はある)
>
> Vista(Aero)ではオーバーレイがなくなってるので、目的の効果が得られるのでは?ということのはず。

返信ありがとうございます
XP環境では実現できないということですね・・・
他にも方法が無いか試してみます。
引用返信 編集キー/
■17435 / inTopicNo.6)  Re[3]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ tij (4回)-(2008/04/24(Thu) 03:04:41)
No17431 (渋木宏明(ひどり) さん) に返信
> あと、Vista なら何も努力しないでも目的とする効果が得られるはずです。
> Aero が有効である必要があるかも知れませんが、ひょっとしたらデスクトップコンポジションが有効なだけでもOKかもしれません。
>

返信ありがとうございます
また、XP環境にはデスクトップコンポジションの設定はできないのではないでしょうか?
引用返信 編集キー/
■17437 / inTopicNo.7)  Re[4]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ 渋木宏明(ひどり) (715回)-(2008/04/24(Thu) 03:35:28)
渋木宏明(ひどり) さんの Web サイト
2008/04/24(Thu) 03:41:59 編集(投稿者)

> XP環境では実現できないということですね・・・

違います。

(とりあえず)パフォーマンスを問わないのであれば、XP でも実行環境の設定次第で実現可能と思われます。

最終的に、必要とするパフォーマンスが得られるかどうかは実行環境次第です。

> また、XP環境にはデスクトップコンポジションの設定はできないのではないでしょうか?

できません。

デスクトップコンポジションは Vista 以降の機能です。
引用返信 編集キー/
■17438 / inTopicNo.8)  Re[4]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ NyaRuRu (39回)-(2008/04/24(Thu) 07:58:07)
No17435 (tij さん) に返信
> 返信ありがとうございます
> また、XP環境にはデスクトップコンポジションの設定はできないのではないでしょうか?

WinForms の機能内で実現するためにだいぶ遠回りをされているような気がします.
WPF や Flash 等,「動画の上に (半透明で) 何か重ねる」というシナリオが最初から想定されている技術も検討されてみてはいかがでしょうか?
引用返信 編集キー/
■17448 / inTopicNo.9)  Re[5]: Form透過時にバックグラウンドで動作中の別Formの動作
□投稿者/ 渋木宏明(ひどり) (716回)-(2008/04/24(Thu) 14:08:46)
渋木宏明(ひどり) さんの Web サイト
>>XP環境では実現できないということですね・・・
>
> 違います。
>
> (とりあえず)パフォーマンスを問わないのであれば、XP でも実行環境の設定次第で実現可能と思われます。
>
> 最終的に、必要とするパフォーマンスが得られるかどうかは実行環境次第です。

↑は、「今採用している手法でこのまま進める場合」の話です。

XP でも最適な手法を選択すれば、目的を達成できる可能性は十分にあります。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -