Form上のイメージだけ表示


みこ  2004-06-02 04:46:42  No: 9271

Form上においたコンポーネントだけ表示して
Formだけ透過することってできるのでしょうか?

例えばForm上にイメージコンポーネントをおいて実行すると
その画像だけ表示するようにしたいのですが。


るるとん@K  2004-06-02 05:20:51  No: 9272

あまり詳しくないですが、リージョンっていうので出来ます


つっか  2004-06-02 20:45:09  No: 9273

> リージョンっていうので出来ます

そうかなぁ、できるとは思えないけど。
「透過」ってことは透明にするんでしょ。リージョンでウィンドウを成形する
んじゃなくて。


初心者999  2004-06-02 21:38:00  No: 9274

ここが参考になりませんか?
http://forum.nifty.com/fdelphi/samples/00998.html


にしの  2004-06-02 21:46:27  No: 9275

・透過=後ろのウィンドウをクリックできる
・透過=後ろのウィンドウがフォームに描画されている(クリックしても後ろのウィンドウがアクティブにならない)
のどちらでしょうか。

前者であれば、色を1色犠牲にすれば、TFormのTransparentColor, TransparentColorValueでできますよ。
後者であれば、後ろ側の描画をフォームに対して行えばできるかと。描画のたびにちらつきますが。


つっか  2004-06-02 22:30:09  No: 9276

> 前者であれば、色を1色犠牲にすれば、TFormのTransparentColor, TransparentColorValueでできますよ。

わたしはD5なのでできませんが、これは実装はリージョンをつかったものでしょうか。
後ろがクリックできるのは透過とは言わないのでは?

ウィンドウのサイズが問題なら、

> 例えばForm上にイメージコンポーネントをおいて実行すると
> その画像だけ表示するようにしたいのですが。

TForm の  BorderStyle を bsNone にして、(0,0) においた TImage  の
サイズに合わせるだけではないでしょうか?


るるとん@K  2004-06-03 01:53:36  No: 9277

>TForm の  BorderStyle を bsNone にして、(0,0) においた TImage  の
>サイズに合わせるだけではないでしょうか?
そうですね、スプラッシュか何かなら、この方法ですね


にしの  2004-06-03 05:08:14  No: 9278

> わたしはD5なのでできませんが、これは実装はリージョンをつかったものでしょうか。

実装は、リージョンではなくレイヤードウィンドウです。
プロパティの実装はD6以降でしたっけ?あと、Windows2000以降です。

参考URL
http://www.microsoft.com/japan/msdn/windows/windows2000/layerwin.asp

> 後ろがクリックできるのは透過とは言わないのでは?

では何というのでしょう。
後ろがクリックできないと言うことは、そこに見えているのはあくまでも前面のウィンドウで、後ろに隠した部分を描画しているにすぎないと思います。
日本語って難しいですね。

四角いスプラッシュならつっかさんの方法でできますが、非矩形であれば、リージョンを作成して切り抜く必要があるかと思います。
シェアウェアですが、
http://homepage2.nifty.com/t-katochin/
かとちんさんのところにリージョンのコンポーネントがあります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加