Window-04 ウィンドウを最小化・最大化する
Q プログラム側の制御で、あるウィンドウを最小化・最大化したいのですが、どうすればいいでしょうか?
A CloseWindow関数やShowWindow関数を使います。
どう使う?
※このページのコードで「hWnd」は操作対象ウィンドウのハンドルを示すこととします。
'ウィンドウを最小化する場合。
CloseWindow(hWnd)
'↑を実行後 ウィンドウは最小化される'ウィンドウを最大化する場合。
ShowWindow(hWnd,SW_MAXIMIZE)
'↑を実行後 ウィンドウは最大化される
簡単ですね(笑)
問題は、関数名「CloseWindow」がウィンドウを閉じることを連想させてしまうことですね。
私も何度も引っかかりました(爆)
ついでなので、ウィンドウが最小化されているか、最大化されているかの判定もしてみましょう。
'最小化されているかどうか判定する場合。
If IsIconic(hWnd) Then
MsgBox NULL,"最小化されています。"
Else
MsgBox NULL,"最小化されていません。"
End If
'最小化されているかどうか判定する場合。
If IsZoomed(hWnd) Then
MsgBox NULL,"最大化されています。"
Else
MsgBox NULL,"最大化されていません。"
End If
これも割と簡単ですね。
最後に、最小化・最大化されている状態を元に戻す方法です。
ShowWindow(hWnd,SW_SHOWNORMAL)
'↑を実行後 最小化・最大化が解除される
1行のプログラムを書くだけで済みます。簡単ですね。
最小化・最大化の解除の方法は同じになります。
ちなみに、最小化の解除に限れば、もっと簡単に書くことが可能です。
OpenIcon(hWnd)
'↑を実行後 最小化が解除される
これでもか!というぐらいに簡単に…(原爆)
ということで今回は、最小化・最大化関係のサンプルを一通りご紹介しました。