簡単なオプションは、ユーザーがフォームを最大化できるようにすることです。これにより、コンピューターの現在の解像度設定に関係なく、フォームが画面全体に表示されます。
このアプローチの唯一の問題は、フォームのコントロールを新しいサイズに合わせて拡大/サイズ変更しないことです。レイアウトは以前と同じように見えますが、現在は左上隅に詰め込まれ、その下と右に広大な空きスペースがあります. したがって、フォーム自体のサイズが変更されるたびに、フォーム上のコントロールのサイズを動的に変更することが秘訣です。
残念ながら、VB 6 にはこれに対するサポートが組み込まれていません。すべてのコントロールのサイズ変更を処理するコードを自分で作成するしかありません。これを行うのに最適な場所は、フォームのResize
イベントです。ScaleWidth
プロパティとプロパティを確認することで、フォームの現在のサイズを確認できScaleHeight
ます。各コントロールは、コンテナー フォームのサイズを基準にしてサイズを設定するために使用できる同様Width
のプロパティを公開します。サイズを決定するには、いくつかの基本的な数学的ロジックを考案する必要があります。Google で簡単に検索すると、他の人がこれを行った例がいくつか出てくるはずですが、輝かしいモデルはありません。Height
1 つの例は、Microsoft Outlook などの電子メール プログラムに見られます。TreeView
フォームの高さの 100% を占めるが、幅の 50% しかない がある場合があります。ListView
フォームの高さの 50% と幅の 50% を占めるa 。TextBox
フォームの高さの 50% と幅の 50% を占めるその下に配置されます。これにより、以下に示すような流動的なレイアウトが生成されます。
--------------------------------
| | |
| | |
| | ListView |
| | |
| | |
| TreeView |---------------|
| | |
| | |
| | TextBox |
| | |
| | |
--------------------------------