Line コントロール (Visual Basic 6.0 ユーザー向け)
更新 : 2007 年 11 月
Visual Basic 6.0 の Line コントロールに対応するものは、Visual Basic 2008 にはありません。ただし、グラフィックス メソッドを使って、同じ結果を得ることができます。または、オプションの Visual Basic Power Packs の LineShape コントロールを使用することもできます。
概念の違い
Visual Basic 6.0 では、Line コントロールを使って、デザイン時にフォームに線を簡単に描画できます。Line コントロールは "軽量コントロール"です。つまり、このコントロールは Windows ハンドル (HWnd とも呼びます) を持ちません。
Visual Basic 2008 には、Line コントロールに対応するものはなく、軽量コントロールもサポートされなくなりました。ただし、デザイン時と実行時の両方で線をフォームに描画する方法があります。
メモ : |
---|
オプションの Visual Basic Power Packs コントロールには、LineShape コントロール、OvalShape コントロール、および RectangleShape コントロールが含まれます。これらは Line コントロールと Shape コントロールの代わりに使用できます。Visual Basic 6.0 の Line コントロールおよび Shape コントロールと同じ動作をするだけでなく、これらのコントロールには新機能が加えられています。追加された機能は、グラデーションの塗りつぶし、実行時選択、実行時イベントなどです。 |
Visual Basic Power Packs は、MSDN Web サイトの Microsoft Visual Basic 2005 Power Packs ページからダウンロードできます。
デザイン時に垂直線または水平線をフォーム上に描画するには、Label コントロールを追加し、Text プロパティを空の文字列に設定し、BorderStyle プロパティを None に設定し、Width プロパティまたは Height プロパティを 1 に設定します。
新しい Graphics オブジェクトを作成し、そのメソッドを呼び出すことにより、実行時にフォームの Paint イベント ハンドラで垂直線、水平線、または斜線を描画できます。
Visual Basic 6.0 で、Line コントロールを使って PictureBox コントロールや Frame コントロールなどのコンテナ コントロールの前面に線を描画するには、Line コントロールをコンテナに追加します。
Visual Basic 2008 では、DrawLine メソッドをコンテナ コントロールの Paint イベント内で呼び出すことにより、同じ結果が得られます。
Line コントロールを扱うコードの変更
次のコード例は、Visual Basic 6.0 と Visual Basic 2008 のコーディング テクニックの違いを示します。
水平線または垂直線の描画
次のコード例は、実行時に水平線や垂直線をフォームに描画する方法を示しています。Visual Basic 6.0 のコード例では、Line コントロールを使用し、2 つの Line コントロールがデザイン時に追加されていると仮定します。Visual Basic 2008 のコード例では、Label コントロールを使用する方法と、Graphics の各メソッドを使用する方法の 2 つを示します。
メモ : |
---|
Visual Basic 6.0 の既定の測定単位は twip ですが、Visual Basic 2008 の測定単位はピクセルです。 |
' Visual Basic 6.0
Private Sub Form_Load()
' Draw a horizontal line 200 twips from the top of the form.
Line1.X1 = 0
Line1.X2 = Me.Width
Line1.Y1 = 200
Line1.Y2 = 200
Line1.BorderColor = vbRed
Line1.BorderWidth = 1
' Draw a vertical line 200 twips from the left of the form.
Line1.Y1 = 0
Line1.Y2 = Me.Height
Line1.X1 = 200
Line1.X2 = 200
Line1.BorderColor = vbBlue
Line1.BorderWidth = 1
' Visual Basic
' Using Label controls.
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim Line1 As New System.Windows.Forms.Label
Dim Line2 As New System.Windows.Forms.Label
' Draw a horizontal line 14 pixels from the top of the form.
Line1.Location = New System.Drawing.Point(0, 14)
Line1.Size = New System.Drawing.Size(Me.Width, 1)
Line1.BorderStyle = BorderStyle.None
Line1.BackColor = System.Drawing.Color.Red
Line1.Text = ""
Controls.Add(Line1)
' Draw a vertical line 14 pixels from the left of the form.
Line2.Location = New System.Drawing.Point(14, 0)
Line2.Size = New System.Drawing.Size(1, Me.Height)
Line2.BorderStyle = BorderStyle.None
Line2.BackColor = System.Drawing.Color.Blue
Line2.Text = ""
Controls.Add(Line2)
End Sub
' Visual Basic
' Using Graphics methods.
Private Sub Form1Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
' Draw a horizontal line 28 pixels from the top of the form.
e.Graphics.DrawLine(Pens.Red, 0, 28, Me.Width, 28)
' Draw a vertical line 28 pixels from the left of the form.
e.Graphics.DrawLine(Pens.Blue, 28, 0, 28, Me.Height)
End Sub
斜線の描画
次のコードは、実行時にフォーム上に斜線を描画する方法を示します。Visual Basic 6.0 のコード例では、Line コントロールを使用し、Line コントロールがデザイン時に追加されていると仮定します。Visual Basic 2008 の例では、Graphics メソッドを使用します。
メモ : |
---|
Visual Basic 6.0 の既定の測定単位は twip ですが、Visual Basic 2008 の測定単位はピクセルです。 |
' Visual Basic 6.0
Private Sub Form_Load()
' Draw a diagonal line from the top left to the lower right.
Line1.X1 = 0
Line1.X2 = Me.ScaleWidth
Line1.Y1 = 0
Line1.Y2 = Me.ScaleHeight
Line1.BorderColor = vbBlack
Line1.BorderWidth = 1
End Sub
' Visual Basic
Private Sub FormPaint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
' Draw a diagonal line from the top left to the lower right.
e.Graphics.DrawLine(Pens.Black, 0, 0, Me.ClientSize.Width, _
Me.ClientSize.Height)
End Sub
アップグレード メモ
Visual Basic 6.0 アプリケーションをアップグレードすると、Line コントロールを参照しているコードは、LineShape コントロールを使用するようにアップグレードされます。これらのコントロールは、オプションの Visual Basic Power Packs ライブラリに含まれています。アップグレード中に Line コントロールへの参照が見つかると、警告が発行されます。警告が発行されたら、ライブラリをインストールし、アップグレードされたプロジェクトから参照する必要があります。
Visual Basic Power Packs は、MSDN Web サイトの Microsoft Visual Basic 2005 Power Packs ページからダウンロードできます。