tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 透けて見える画像を表示させたい
投稿日: 2010/05/27(Thu) 22:50
投稿者魔界の仮面弁士
> Formに PictureBoxを配置し そのなかに複数のコントロールを配置しています。
> それらのコントロールなどを 
> 薄い色で覆い隠し 透けて見えるようにしたいのです。

直接の機能は無いので手間はかかりますが、こんな方法は如何でしょう。

《第1案》
 (1) 枠なしフォームを別途用意する。フォームの色は適当な単一色に設定(白など)。
 (2) API を使い、それを半透明のレイヤード ウィンドウにする。
 (3) 元のフォームと同じ座標に、半透明フォームを重ね置く事で対応。
 →なお、元フォームのリサイズや移動に対応させる必要がある場合は、
  サブクラス化でリサイズ等の Windows メッセージを拾うか、あるいは
  Timer で位置を監視して、半透明フォームの位置を追従させる。


《第2案》
 (1) フォーム全体を覆う PictureBox (または Frame)を用意し、
  Form上に配置されていた現行のコントロール群すべてを、
  その PictureBox 上に配置しなおす。
 (2) 下記のサンプルを用い、現行の画面内容を Picture オブジェクトに変換。
  http://support.microsoft.com/kb/161299/ja
 (3) 撮影後、コンテナとしていた PictureBox を非表示にして全コントロールを隠す。
 (4) 替わりに、先ほど撮影した (2) の画像を Form 上に表示する。
 (5) 薄い色で覆い隠す部分は、Alphablend API で対応。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。