• 締切済み

フォームの縦横比率を一定にする方法

お世話になります。 環境:NT4.0 W + VB6(SP3) 画面内に納まる程度のサイズ変更という前提で、フォームの縦横比率を一定にする方法を教えて頂けませんでしょうか? フォームの縦横のサイズが1対2だとします。 フォームの縦を1.5倍にしたら、横も1.5倍になるようにしたいのです。 Form_Resize()時に、フォームの縦が変更されたら横も変更する、あるいは横が変更されたら縦を変更するようにコーディングしたのですが、再帰的にForm_Resize()が呼ばれてしまい、正しくサイズが変更されません。 よろしくお願いします。

みんなの回答

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.1

簡単にしようと思ったら、変更前のフォームのサイズを憶えておいて、変更された方を変更するようにすればそれぞれが変更するようにコーディングできます。 再帰的に呼ばれる現象については、それはそれで正解なのですが、Widthを変更した直後に呼ばれるので、変更前のフォームのサイズを設定するタイミングを考えて設定すればできます。

miyanori
質問者

お礼

回答、ありがとうございました。 「変更前のフォームのサイズを設定するタイミングを考えて」とありましたので、そのあたりをいろいろ試してみたら、うまくいきました。 再帰的に呼ばれることも間違いじゃなさそうなのでほっとしてます。 まだ解像度と画面サイズがらみの処理が残っていて、完全ではありませんが、これで一安心です。 ありがとうございました。

関連するQ&A