Form上においたコンポーネントだけ表示して
Formだけ透過することってできるのでしょうか?
例えばForm上にイメージコンポーネントをおいて実行すると
その画像だけ表示するようにしたいのですが。
あまり詳しくないですが、リージョンっていうので出来ます
> リージョンっていうので出来ます
そうかなぁ、できるとは思えないけど。
「透過」ってことは透明にするんでしょ。リージョンでウィンドウを成形する
んじゃなくて。
ここが参考になりませんか?
http://forum.nifty.com/fdelphi/samples/00998.html
・透過=後ろのウィンドウをクリックできる
・透過=後ろのウィンドウがフォームに描画されている(クリックしても後ろのウィンドウがアクティブにならない)
のどちらでしょうか。
前者であれば、色を1色犠牲にすれば、TFormのTransparentColor, TransparentColorValueでできますよ。
後者であれば、後ろ側の描画をフォームに対して行えばできるかと。描画のたびにちらつきますが。
> 前者であれば、色を1色犠牲にすれば、TFormのTransparentColor, TransparentColorValueでできますよ。
わたしはD5なのでできませんが、これは実装はリージョンをつかったものでしょうか。
後ろがクリックできるのは透過とは言わないのでは?
ウィンドウのサイズが問題なら、
> 例えばForm上にイメージコンポーネントをおいて実行すると
> その画像だけ表示するようにしたいのですが。
TForm の BorderStyle を bsNone にして、(0,0) においた TImage の
サイズに合わせるだけではないでしょうか?
>TForm の BorderStyle を bsNone にして、(0,0) においた TImage の
>サイズに合わせるだけではないでしょうか?
そうですね、スプラッシュか何かなら、この方法ですね
> わたしはD5なのでできませんが、これは実装はリージョンをつかったものでしょうか。
実装は、リージョンではなくレイヤードウィンドウです。
プロパティの実装はD6以降でしたっけ?あと、Windows2000以降です。
参考URL
http://www.microsoft.com/japan/msdn/windows/windows2000/layerwin.asp
> 後ろがクリックできるのは透過とは言わないのでは?
では何というのでしょう。
後ろがクリックできないと言うことは、そこに見えているのはあくまでも前面のウィンドウで、後ろに隠した部分を描画しているにすぎないと思います。
日本語って難しいですね。
四角いスプラッシュならつっかさんの方法でできますが、非矩形であれば、リージョンを作成して切り抜く必要があるかと思います。
シェアウェアですが、
http://homepage2.nifty.com/t-katochin/
かとちんさんのところにリージョンのコンポーネントがあります。
ツイート | ![]() |