掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
多角形を一般的に描くには? (ID:119266)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Point() の配列の作り方がわかりません。 ヘルプで、“ReDimステートメント”について調べてみてください。 これを使うと、配列のサイズを任意に指定できますよ。 たとえば、 ReDim Preserve PN(5) と書くと、PN(0)〜PN(2)だった配列が、PN(5)までに拡張されます。 拡張した直後は、追加された要素が空のままなので、 PN(3) = New Point(x, y) などとして、拡張された点の座標を追加で指定してください。 逆に、サイズを縮小した時は、最後の項目から除去されます。 ただし配列だと、最後の要素を拡張/縮小することしかできないので、 途中の要素を削除するのは面倒かと思います。 その場合(途中の項目を取り除きたい場合)には、 配列のかわりに、コレクションを使うと便利です。 コレクションは、System.Collections 名前空間に集められいます。 ヘルプで、System.Collections について調べてみてください。 たとえば、System.Collections.ArrayList クラス を使って、 Private PointList As New ArrayList() としておいた場合、新たな座標を追加するのにも、 PointList.Add(New Point(100, 200)) PointList.Add(New Point(200, 300)) PointList.Add(New Point(300, 400)) PointList.Add(New Point(400, 500)) のように指示できます。また、途中の座標を削除するのも、 PointList.RemoveAt(2) などと書けます。 ArrayListクラスを使った場合、FillPolygonメソッドに渡す前には、 ArrayList型からPoint()型に変換する必要がありますが、それも、 PN = PointList.ToArray(GetType(Point)) のように書くだけで、簡単に Point配列に変換できます。 System.Collections には、ArrayList 以外のコレクションクラスも 用意されていますので、余力があれば、あわせて調べてみてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.