アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessのウインドウサイズの固定について回答お願いします。

Accessファイルを開いたときに、メインメニューのフォームが開くのですが、これのオープンイベントにウインドウサイズの変更を入れたいと思っています。
Windows Apiというものを呼び出すコードをモジュールにも記入すると思うのですが、よく分からず困っています。
変更したいのは、ウインドウサイズのみなので、位置は必要ありません。

出来れば、高さや下位置等の数字を任意に変更すれば使えるコードを教えてもらえれば有難いです。

後、メインメニューのオープンイベントにサイズ倍率を変更するコード
Private Sub Form_Open(Cancel As Integer)
FormSizeChange Me, 0.9
End Sub
がすでに入っていますのでこれに追加していただきたいです。

よろしくお願いします。

質問者からの補足コメント

  • うーん・・・

    有難うございます。
    質問の継ぎ足しなのですが、10, 50, 900, 800 の位置とサイズの指定をオープンイベントに記入し無事に出来たのですが、この【10, 50】のウインドウ位置をコードから無くしてフリーで位置調整出来るようにしたいのですが可能でしょうか?
    運用する際に、モニターサイズが違うパソコンがあるので、画面の小さいパソコン基準で画面サイズを指定し、大画面のパソコンではその指定したサイズで表示し画面をモニターのセンターに手動で持っていきたいので。

    よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/07/10 10:48

A 回答 (2件)

前回回答のリンク先の「リスト 2」に


GetWindowRect Application.hWndAccessApp, rctSize
とあります。
Application.hWndAccessApp でAccessのハンドルを指定していますので
ここをデスクトップにします。

サンプルファイルのsample2007(かな?)の標準モジュールModule1に
下記1行を追加します。
Public Declare Function GetDesktopWindow Lib "user32" () As Long

フォームのオープン時には
Private Sub Form_Open(Cancel As Integer)
Dim rctSize As RECT
Dim hWnd As Long
Dim retVal As Long
Dim mWidth as long,mHeight as long
hWnd = GetDesktopWindow()
retVal = GetWindowRect(hWnd, rctSize)
mWidth = rctsize.right
mHeight = rctsize.bottom
msgbox mwidth & "-" & mHeight
MoveWindow Application.hWndAccessApp, 10, 50, 900, 800, True
End Sub

でモニターの左右・天地が分かりますので計算して
MoveWindowで指定すれば良いです。
ついでの継ぎ足しは・・・止めましょね。
マナーに欠けるということで嫌われます。

PS.
複数モニターを使用している場合は不明です。
あとユーザーによっては
「端に置きたいのに何故いつもど真ん中に?邪魔!」という場合もあり。
私からは以上です。
    • good
    • 1

こちらをどうぞ。


『Accessウィンドウの位置や大きさを取得・変更する』
http://www.happy2-island.com/access/gogo03/capte …

説明も分かりやすいと思います。
「サンプルダウンロード」にファイルも用意されてます。
あとは
MoveWindow Application.hWndAccessApp, 10, 50, 900, 800, True
などと追加するだけです。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A