MS Access Tips/Sample and VBA and Blog customize etc...

タイトルバーのないユーザーフォームをドラッグで移動

前回の記事では、通常のユーザーフォームでタイトルバー以外でもドラッグできるようにしました。

今回は、タイトルバーを非表示にしてドラッグできるようにしてみました。

こちらの方が必要性は高いかなと思います。

ドラッグできるタイトルバーのないユーザーフォーム

難易度:

タイトルバー非表示

APIを使えばできるだろうと思ってましたが、面倒なので検索したら関数化されたものがすぐ見つかりました。

K窓 Excel技<Excel Tips>

上記の関数をお借りして、前回のコードを組み合わせれば完成です。

複数のユーザーフォームで使用することも考慮して、標準モジュールに共通関数として作成することにしました。

ユーザーフォームでの使用例

タイトルバーを非表示にすると、タイトルバーのクローズボタンもなくなるので、閉じれなくなります。
コマンドボタンとかダブルクリックで閉じるとかなんらかの代替手段を用意しておく必要があります。

ユーザーフォーム上にラベルとコマンドボタンを配置してフォームのモジュールに下記のように記述します。

2014/07/08 追記: マウスボタン移動時に設定してましたが、マウスボタンクリック時に設定しても動作するようなので、MouseMove を MouseDown に変更しました。こちらの方がイベント発生が少ないのでいいように思います。

これでタイトルバーのないユーザーフォームでもドラッグで移動できます。

サンプルファイルが下記からダウンロードできます。

FormDrag.xlsm (Excel マクロ有効ブック - 32kb)


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/419-3b7a9978
該当の記事は見つかりませんでした。