画面の解像度の取得について


きょーちゃん  2003-07-02 10:34:01  No: 78505  IP: [192.*.*.*]

はじめまして。VBをはじめたばかりの何もわからない超初心者です。
ちょっと教えてください。どのディスプレイでも常にフォームを真ん中にだしたいのですが、そのためには画面の解像度を取得してその値をもとに画面表示すればいいと思っているのですが、画面の解像度の取得の仕方がわかりません。もしご存知の方がいれば教えていただきたいのですが、どうぞよろしくお願いいたします。

編集 削除
nanashi  2003-07-02 10:43:29  No: 78506  IP: [192.*.*.*]

一応SystemParametersInfoというAPIを使えば解像度を取得できますが、
フォームのStartUpPositionプロパティじゃダメですか?

編集 削除
nanashi  2003-07-02 10:48:26  No: 78507  IP: [192.*.*.*]

あ、GetMonitorInfoの方だったかも……。

編集 削除
だい  URL  2003-07-02 10:57:36  No: 78508  IP: [192.*.*.*]

単に、Screen.Height 、Screen.Width じゃ物足りませんか?

FormのLoad時に、
'フォームを中央に配置
    If (Me.WindowState = 0) Then
        Me.Top = (Screen.Height - Me.Height) / 2
        Me.Left = (Screen.Width - Me.Width) / 2
    End If

とか。

設計時の解像度から甚だしく違う環境だと、
サイズやフォントの調整が必要かもしれませんね。

編集 削除
きょーちゃん  2003-07-02 11:27:13  No: 78509  IP: [192.*.*.*]

nanasi様、だい様お早い回答ありがとうございます。
APIを使うロジックはインターネットにあったのですが、とてもややこしく、
自分のレベルにはまだ早いと思ったので、回避しました。
だい様のこのやり方でいきたいと思います。
どうもありがとうございました。
ついでといってはなんですが、フォームイベントのLoadとInitializeの違いってなんですか?もしご存知でしたら教えてください。どうぞよろしくお願いします。

編集 削除