#139 タイトルバーに吸い込まれて閉じるフォーム フォーム、VBA

通常、フォームなどのウィンドウを閉じると、パッと一瞬で画面から消えてしまいます。ここでは、タイトルバーに吸い込まれるようにして閉じるという、ちょっとトリッキーなフォームの閉じ方を紹介します。

実際には、フォームの「閉じる時」イベントを利用して、フォームの高さを徐々に小さくしていくだけのことです。高さの基点はタイトルバーになりますので、高さを小さくすることによってフォームがタイトルバーに吸い込まれていくように見えます。応用として、Widthプロパティを小さくしていけば、カーテンが閉じるように見えるかもしれません。
Private Sub Form_Close()

  Dim intDefHeight As Integer
  Dim iintLoop As Integer
  Const cintSpeed As Integer = 50

  'フォームの元の高さを取得します
  intDefHeight = Me.InsideHeight
  'フォームの高さを少しずつ小さくしていきます
  For iintLoop = intDefHeight To 0 Step (-1 * cintSpeed)
    Me.InsideHeight = iintLoop
    'Me.Repaint  '(状況によっては必要?)
  Next iintLoop

End Sub


(↑実際はもっと滑らかに閉じます)

定数 cintSpeed で、高さを小さくするスピードを調整します。あまり小さいと閉じるのに時間がかかり、大きいとスムースに閉じる感じになりません。実行するマシンの環境などに合わせて適当な値を設定してみてください。
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved