フォームの背景をバックグラウンド!+α

解決


まろ  2003-06-19 07:48:12  No: 3816

本当にくだらない質問ですみません。
フォームの背景を現在バックグラウンドに表示されているものに
してみたいんです。要は透明なんですけど、フォームの背景としたいんです。
調べてみてリージョンというものを使ってみたのですが、透明にはなるものの、
透明にした所をクリックすると、作ったアプリがバックグラウンドに行って
しまい、元々バックグラウンドにあったはずのエクスプローラがアクティブ
になってしまいます。そうではなく、透明な部分をクリックしても
作ったアプリのフォームの背景をクリックした状態と同じにしたいんです。
アプリのバックグラウンドにあるものを画像データとしてフォームの背景に
貼り付ける・・・と言った方がよいのでしょうか・・・。
そんな方法はありますでしょうか?
これができると、とっても見づらいおちゃめなアプリができると思うんですけど・・・。

まだ呆れないでください。もうひとつあるんです。
リソースに実行ファイルって登録できるのでしょうか?
そして、そのEXEをファイルに書き出すとEXEができちゃう・・なんて。
EXEから子EXE誕生・・・みたいな感じで面白いと思ったので・・・。
お待たせしました、呆れてください・・・。(^^;

p.s.でも知っておきたい・・・


にしの  2003-06-19 08:38:47  No: 3817

Delphiのバージョンによっては、AlphaBlendというプロパティがTFormクラスにあります。
これで透過するフォームは作れますね。
ただし、Windows2000/XPのみです。

win95/98で同じようなことをするには、フォームを表示する前のデスクトップをキャプチャしておき、それを描画します。
透過したい場所の後ろにアニメーションなどがある場合は、当然止まって見えます。
http://torry.net/ でこれを実現するコンポーネントがあったような気がします。今あるかどうかはわかりません。

EXEの登録ですが、できると思いますよ。
単にファイルを入れたいのであれば、
Test File DISCARDABLE "ファイル名.exe"
などとすれば入ります。
それをファイルとして書き出せば、実行できます。


おえい  2003-06-19 08:39:14  No: 3818

>透明
丁寧に教えてくださってます。
他にもタイマーなどと組み合わせてみられては。http://www.sakaki.keiaikai.or.jp/faq/delfaq001.html

>EXEから子EXE誕生
わかりません。
ではm(_ _)m


たかみちえ  URL  2003-06-19 09:09:20  No: 3819

> 要は透明なんですけど、フォームの背景としたいんです。
  まず、真後ろの背景ではなく、壁紙を表示する方法、
これはとても簡単です。
  WM_EraseBkGnd  というウィンドウメッセージがあるので、
(メッセージメソッドについては、ヘルプ参照、それ以前にウィンドウメッセージって何?というのは、うちの旧学校にかいてますから、見てみてください)
それを、WM_IconEraseBkGndというメッセージに差し替えれば、
フォームの普通の背景の変わりに、壁紙が表示されます。
(このテクニック、よく見かけるので、わからない部分があれば、インターネットを検索してすぐに見つけられるでしょう)

  二つ目、ちゃんと、真後ろの背景を表示する方法。
Delphiではそういうことのできる方法は知りませんねぇ。

  C言語用のものですけど、硝子窓ライブラリというものがあって、
それでOSに関係なく、半透明表示ができるようになるようですね。
  フォームの一部だけ透過みたいなこともできるようなので、
もし、どうしてもDelphiでやりたいのであれば、
それをダウンロードしてDelphi言語に翻訳するしか…。
(それとも、作者さんに話してみれば、もしかしたらいい回答が得られるかもしれませんね)
窓立て & C++のページ(硝子窓ライブラリがあります)  『 http://www.ksky.ne.jp/~seahorse/ 』

> リソースに実行ファイルって登録できるのでしょうか?
  リソースは、どんなファイルでもいいはずです。実行ファイルも結局、ただのバイナリファイルですから。


まろ  2003-06-20 06:47:38  No: 3820

みなさまいろいろと勉強になりました。
どうもありがとうございます。

にしの様。
毎度毎度ご親切にありがとうございます。
http://torry.net/  を訪れてみたのですが、
首吊って死んじゃいそうになりました。^^;
子EXEも無事できました。ファイルとして出力するだけでよかったのですね。

おえい様。
そちらのサイトを見て、一度動かしてから発言したのですが、
イメージ等をフォームに貼り付け、フォームを移動させたら
イメージが消えてしまったので「ダメだぁ・・」と思ってしま
ったんです。が、単に移動した際イメージの再描画を行ってい
なかっただけだったようです。^^;

たかみちえ様。
そのようなわけで問題ありませんでした。
http://www.ksky.ne.jp/~seahorse/ も訪れてみたのですが、
404になっていました。

みなさま、本当にご親切にありがとうございました。
なんだか楽しくなってきました。^^


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

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






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