0

VB6 の使用

私のデフォルトのソフトウェアの表示設定は「800 x 600」です

「800 x 600」、「1366 x 768」、「1280 x 768」など、表示設定が異なるクライアント

「800 x 600」以上の表示設定でソフトウェアを使用しているクライアントは、ソフトウェアが全画面表示に対応していないことを意味します。ソフトウェアは、モニター サイズの 75% の幅を表示しています。

ディスプレイに合わせてソフトウェアのサイズを手動で変更すると、画像が非常に大きく表示されます。

モニターの表示サイズに合わせて全画面表示する方法。

コードのヘルプが必要

4

3 に答える 3

5

簡単なオプションは、ユーザーがフォームを最大化できるようにすることです。これにより、コンピューターの現在の解像度設定に関係なく、フォームが画面全体に表示されます。

このアプローチの唯一の問題は、フォームのコントロールを新しいサイズに合わせて拡大/サイズ変更しないことです。レイアウトは以前と同じように見えますが、現在は左上隅に詰め込まれ、その下と右に広大な空きスペースがあります. したがって、フォーム自体のサイズが変更されるたびに、フォーム上のコントロールのサイズを動的に変更することが秘訣です。

残念ながら、VB 6 にはこれに対するサポートが組み込まれていません。すべてのコントロールのサイズ変更を処理するコードを自分で作成するしかありません。これを行うのに最適な場所は、フォームのResizeイベントです。ScaleWidthプロパティとプロパティを確認することで、フォームの現在のサイズを確認できScaleHeightます。各コントロールは、コンテナー フォームのサイズを基準にしてサイズを設定するために使用できる同様Widthのプロパティを公開します。サイズを決定するには、いくつかの基本的な数学的ロジックを考案する必要があります。Google で簡単に検索すると、他の人がこれを行った例がいくつか出てくるはずですが、輝かしいモデルはありません。Height

1 つの例は、Microsoft Outlook などの電子メール プログラムに見られます。TreeViewフォームの高さの 100% を占めるが、幅の 50% しかない がある場合があります。ListViewフォームの高さの 50% と幅の 50% を占めるa 。TextBoxフォームの高さの 50% と幅の 50% を占めるその下に配置されます。これにより、以下に示すような流動的なレイアウトが生成されます。

--------------------------------
|              |               |
|              |               |
|              |   ListView    |
|              |               |
|              |               |
|   TreeView   |---------------|
|              |               |
|              |               |
|              |    TextBox    |
|              |               |
|              |               |
--------------------------------
于 2011-03-02T07:30:49.237 に答える
0

moveメソッドを使用して、コントロールのサイズを変更できます。サイズ変更中は、scalewidth、scaleheight、scalemode、twipsperpixel プロパティを使用します。

ただし、SSTab でコントロールのサイズを変更するときに move メソッドが正しく機能しないため、それを克服するためにさらに努力が必要です。これを参照できます。

もう 1 つの方法は、フォームが他のすべての解像度で表示されるように、最小の解像度 (つまり 800X600) でフォームを設計することです。

于 2011-03-03T09:16:54.890 に答える
0

メイン フォームを最大化 (プロパティwindow stateを に設定2 - Maximized) に変更し、必要に応じて、含まれるコントロールのサイズを変更または移動するだけです。

于 2011-03-02T07:29:59.843 に答える