2012年4月13日金曜日

【.NET】WindowsFormをドラッグした時に半透明にする

こんにちは!部長です。
最近お仕事の引き合いを多く頂いております。ありがたやありがたや(´人`)
新年度に入り心機一転、がんばりましょう。弊社の決算は9月ですので新下半期ですが。

スクラッチの業務APって色気無いですよね。殺風景というか。
弊社のクライアント様で、デザイン性に非常にこだわっておられるところがあるのですが、
そのお陰で社内プロダクトにもいろいろと見た目にも気にするようになってきました。

その一環で、某パッケージAPで、ドラッグされているウィンドゥが半透明になっているものがあり、
弊社製品にもパク実装してみました。

こんな感じ
    ''ドラッグ中に半透明
    Private Const WM_MOVING As Integer = &H216
    Private Const WM_EXITSIZEMOVE As Integer = &H232
    Protected Overrides Sub WndProc(ByRef m As Message)

        Try
            If m.Msg = WM_MOVING Then
                Me.Opacity = 0.8
            ElseIf m.Msg = WM_EXITSIZEMOVE Then
                Me.Opacity = 1.0
            End If
            MyBase.WndProc(m)
        Catch ex As Exception
            throw
        End Try
    End Sub

ボタンダウンとアップのタイミングでやったらなんかうまくいかなかったのでWM_MOVINGとWM_EXITSIZEMOVEで
今のところ正常動作中。。。

0 件のコメント:

コメントを投稿

とある規格化されたコード

世の中こんなもんまで規格化されていますよ、というお話 https://ja.wikipedia.org/wiki/ISO_5218 この辺が大変良くできた、ためになる(?)解説記事です。(長い https://qiita.com/aoshirobo/items/32deb...