● Access2000Tips Win32 API サブフォームの大きさをAccessウィンドウの大きさの変化に伴いフィットさせたり、ウィンドウのサイズ自体を変更したり、最前面を固定化したり、の方法
  
  

★ サンプルのダウンロード
Access2000Tips Win32 API サブフォームの大きさをAccessウィンドウの大きさの変化に伴いフィットさせたり、ウィンドウのサイズ自体を変更したり、最前面を固定化したり、のサンプルダウンロード
(ESETでウィルスチェックしてあります)

(01)「サブフォームフィット例.mdb
(外側の「ガワ(=アプリケーションウィンドウ)」の大きさの自動変更のサンプルも同じフォームの中に作りました。)

(02)「Access2000ランタイムダウンロード

※ランタイムはバージョン2000のものです。Access2000を持っていない方でも、サンプルのmdb(ここでは「サブフォームフィット例.mdb」)の動作の確認をしていただけます。
ただ、Win10で動くかはまだチェックしていません。仮想マシンのXPなどで動かすほうが確実かと思います。
なお、仮想マシンの中ではAccessランタイムでの動作では、「Accessウィンドウ(ガワ)の大きさを変える」ボタンでエラーになってしまいました。そのほかは動くようです。仮想マシンでないマシン上で正常動作するかもチェックはしていません。
ランタイムではないAccess2000ならエラーにはならないと思います。
  
  

  

  
   ↑
   ↓
  

  

  
  
以下のコードを、Accessの標準モジュールを1個つくってコピペして使ってください。
イベントプロシージャや標準モジュールのプロシージャから呼び出せば、以下のようなことができます。

(a)サブフォームの大きさをAccessウィンドウの大きさの変化に伴って
  連動フィットさせる場合の、最小化時のエラーやCPU使用率100%の回避
(b)自mdbのウィンドウのサイズ自体を変更
(c)他mdbのウィンドウのサイズを変更
(d)メモ帳などの他のソフトのウィンドウのサイズをAccessから変更
(e)自mdbの画面(Access画面丸ごと)の「最前面」設定の固定化
(f)デスクトップに開いている各ソフトのウィンドウを左右に並べる(4分割以上)
(g)同じく上下に並べる

※ 最後の2つの(f)と(g)は、事前に、VBEの参照設定にて「Microsoft Shell Controls And Automation」に照設定をしておきます。APIとは関係ありません。

  
  

★ サブフォームの大きさを、「ガワ(親)」のAccessのアプリケーションウィンドウの大きさの変化に合わせて、フィットさせるコードは以下の通りです。
フォームの「リサイズ」のイベントに書きます。

以下のコードをサブフォームを持つフォームに書きます。
「Private Sub Form_Resize()」と「End Sub」は抜いて、中身だけをコピペすればOKかと思います。

フィットさせること自体にはWin32APIは必要ないのですが、最小化するときなどにエラー回避などで必要になります。(「frm_size_State01()関数による状態チェックで。)