DOBON.NETプログラミング道掲示板

No35112 の記事


■35112 / )  Re[1]: フォーム背景のみを半透明にしたい
□投稿者/ 魔界の仮面弁士 大御所(1438回)-(2022/07/26(Tue) 14:50:11)
  • アイコンNo35111に返信(よっし〜さんの記事)
    > 添付の画像の様に「フォームだけを半透明」する方法はありませんでしょうか??

    タイトルなし枠無しの Form の背景色を、普段使わない色にしておき、
    その色を TransparencyKey に指定すれば、フォーム部が全透過状態の
    「コントロール部だけのフォーム」ができあがります。
    https://dobon.net/vb/dotnet/form/transparencykey.html

    そのフォームを、Opacity プロパティを設定した別フォームの手前に配置すれば
    フォームの数を 3 つから 2 つに減らせると思います。
    https://dobon.net/vb/dotnet/form/opacity.html


    > フォームに載せたコントロールごと半透明となってしまいます。
    TransparencyKey や Opacity は、フォーム全体に対して一括適用されるため
    コントロール部のみを除外するといったことはできません。

    フォーム 1 つのまま、部分的な半透明化を実現するためには、
    UpdateLayeredWindow API を直接呼び出す必要があります。

    フォームサイズが固定なのであれば、フォームサイズの PNG ファイルを用意し、
    あらかじめその画像内の透明度情報で、不透明箇所と半透明箇所を塗り分けます。
    それを UpdateLayeredWindow API に渡して適用すればできます。

    https://wiki.onakasuita.org/pukiwiki/?UpdateLayeredWindow
    https://dobon.net/vb/bbs/log3-44/26446.html


違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -