• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グラフィックの表示について VB6)

VB6でグラフィックの表示に関する問題

このQ&Aのポイント
  • VB6のPictureBoxにLine文を使用して格子を描く際、縦と横の格子が正方形にならず長方形になる問題が発生しています。
  • この問題はDPIやパソコンの画面サイズの違いに関連しており、異なる結果が出る可能性があります。
  • 対処法を検索していますが、まだ解決できていません。助言やヒントをいただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>T = 枠 * X * 是正! 「是正」は高さの調整用なのでしょうが不要です。 この値が1以外ならば、長方形になるのは当然です。 >画面サイズ 1024×768です。 パソコンのディスプレイの液晶部の縦横比は、768:1024=0.75:1 になっているか確認して下さい。異なっていれば、グラフィックで正方形を描いてもディスプレイに長方形で表示されてしまいます。 あと気になる点は、 (1)Picture1のプロパティの width と height を同じにすれば、Picture1の外形が正方形になります。これでも長方形に見えるか。 (2)Lineの使い方は無駄があり、同じ線を2度描いてます。

daikaisan
質問者

お礼

顛末は、補足に書きました。 ありがとうございました。

daikaisan
質問者

補足

お返事ありがとうございます。 >T = 枠 * X * 是正! 是正!は当然1でやっていて、長方形とりあえず、是正値で正方形になるようにしてみたりしているだけです。 枠・・・格子の長さを規定しています。 ちなみに、上のソースに Picture1.Line (X軸, Y軸)-(X軸 + 枠, Y軸), &HFF0000 Picture1.Line (X軸, Y軸)-(X軸, Y軸 + 枠), &HFF0000 を付け加え、更に半径を、枠の長さにして円を描きました。 その結果がこれです。 http://withyou.system.cx/plugin/hp/test.gif 枠の横の長さは半径と一致し、同じ長さで描いたはずの縦の枠と一致していません。 ・・・・・・と描いていたところ、 >(1)Picture1のプロパティの width と height のところでハタと、バグに気がつきました。 ソースの前部で With Picture1 .Cls .BackColor = 背景色 .Top = 位T% .Left = 位L% .ScaleWidth = 横%・・・・バグ .ScaleHeight = 縦%・・・・バグ .Width = 横%・・・・バグ .Height = 縦%・・・・バグ とすべきでした。解決です。あほですねぇ、われながら。 大いにヒントになりました。 ありがとうございました。

関連するQ&A