フォームのサイズを取得するには?

解決


Docomo  2004-02-17 15:47:08  No: 82086  IP: [192.*.*.*]

VB6を勉強しております。iniファイルより取得した画像データをフォームの中心(上下左右のセンタリング)で表示させたいのですが、何かよい方法があれば教えていただけないでしょうか?

編集 削除
へいぽ  2004-02-17 16:00:38  No: 82087  IP: [192.*.*.*]

> iniファイルより取得した画像データ

ini ファイルに画像ファイルのパスなどが記述されているのではなく、
ini ファイル内に直接画像データが記述されているのですか?

> フォームの中心(上下左右のセンタリング)で表示
どのコントロールに画像を表示するのですか?
Image コントロール? Picture コントロール?

とりあえず、フォーム(内側)の幅、高さは
Form.ScaleWidth, Form.ScaleHeight プロパティで取得できます。

編集 削除
Docomo  2004-02-18 13:11:57  No: 82088  IP: [192.*.*.*]

へいぽ様  中途半端な質問内容で申し訳ありません。
iniファイルには表示したいBMPデータのパスが記載されております。
iniファイルからはGetPrivateProfileString関数を使用してBMPデータを取得しようと考えてますが、これをform1内の中心に表示と考えておりました。この場合、Imageコントロール、もしくはPictureコントロールのどちらを使用すればよいのかも分かっておりません。逆にどちらを使用した方が良いのか教えていただけないでしょうか?

編集 削除
putno  2004-02-18 15:33:28  No: 82089  IP: [192.*.*.*]

こんなんでどうよ...

    Dim pic As Picture

    xxx.AutoRedraw = True
    Set pic = LoadPicture("eroero.bmp")
    xxx.PaintPicture pic, _
                    (xxx.ScaleWidth - (pic.Width * 0.567)) / 2, _
                    (xxx.ScaleHeight - (pic.Height * 0.567)) / 2
    xxx.Refresh

xxx は Form か PictureBox じゃないとだめだよ.Image は PaintPicture 
できないからね.xxx の ScaleMode は default のままね.なぜか HiMetric
に設定できん….

編集 削除
punto  2004-02-18 15:49:01  No: 82090  IP: [192.*.*.*]

あ,つまり,PictureBox も Image もいらんてことが言いたかったのね.

編集 削除
Docomo  2004-02-18 17:09:43  No: 82091  IP: [192.*.*.*]

punto様、表示することができました。色々とありがとうございました。

編集 削除