Freigeben über


CustomLineCap-Klasse

Kapselt ein benutzerdefiniertes Linienende ein.

Namespace: System.Drawing.Drawing2D
Assembly: System.Drawing (in system.drawing.dll)

Syntax

'Declaration
Public Class CustomLineCap
    Inherits MarshalByRefObject
    Implements ICloneable, IDisposable
'Usage
Dim instance As CustomLineCap
public class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
public ref class CustomLineCap : public MarshalByRefObject, ICloneable, IDisposable
public class CustomLineCap extends MarshalByRefObject implements ICloneable, IDisposable
public class CustomLineCap extends MarshalByRefObject implements ICloneable, IDisposable

Hinweise

Linienenden werden am Anfang und am Ende von Linien oder Kurven verwendet, die von GDI+-Pen-Objekten gezeichnet werden. GDI+ unterstützt mehrere vordefinierte Endenformate und ermöglicht es dem Benutzer außerdem, eigene Endenformate zu definieren. Diese Klasse wird verwendet, um benutzerdefinierte Endenformate zu erstellen.

Beispiel

Im folgenden Beispiel wird die Verwendung der CustomLineCap-Klasse veranschaulicht. Fügen Sie den Code in ein Windows Form ein, um das Beispiel auszuführen. Behandeln Sie das Paint-Ereignis des Formulars, und rufen Sie DrawCaps in der Paint-Ereignisbehandlungsmethode auf, wobei Sie e als PaintEventArgs übergeben.

Protected Sub DrawCaps(ByVal e As PaintEventArgs)
    Dim hPath As New GraphicsPath()

    ' Create the outline for our custom end cap.
    hPath.AddLine(New Point(0, 0), New Point(0, 5))
    hPath.AddLine(New Point(0, 5), New Point(5, 1))
    hPath.AddLine(New Point(5, 1), New Point(3, 1))

    ' Construct the hook-shaped end cap.
    Dim HookCap As New CustomLineCap(Nothing, hPath)

    ' Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round)

    ' Create a pen and set end custom start and end
    ' caps to the hook cap.
    Dim customCapPen As New Pen(Color.Black, 5)
    customCapPen.CustomStartCap = HookCap
    customCapPen.CustomEndCap = HookCap

    ' Create a second pen using the start and end caps from
    ' the hook cap.
    Dim capPen As New Pen(Color.Red, 10)
    Dim startCap As LineCap
    Dim endCap As LineCap
    HookCap.GetStrokeCaps(startCap, endCap)
    capPen.StartCap = startCap
    capPen.EndCap = endCap

    ' Create a line to draw.
    Dim points As Point() = {New Point(100, 100), New Point(200, 50), _
        New Point(250, 300)}

    ' Draw the lines.
    e.Graphics.DrawLines(capPen, points)
    e.Graphics.DrawLines(customCapPen, points)

End Sub
protected void DrawCaps(PaintEventArgs e)
{
    GraphicsPath hPath = new GraphicsPath();

    // Create the outline for our custom end cap.
    hPath.AddLine(new Point(0, 0), new Point(0, 5));
    hPath.AddLine(new Point(0, 5), new Point(5, 1));
    hPath.AddLine(new Point(5, 1), new Point(3, 1));

    // Construct the hook-shaped end cap.
    CustomLineCap HookCap = new CustomLineCap(null, hPath);

    // Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round);

    // Create a pen and set end custom start and end
    // caps to the hook cap.
    Pen customCapPen = new Pen(Color.Black, 5);
    customCapPen.CustomStartCap = HookCap;
    customCapPen.CustomEndCap = HookCap;

    // Create a second pen using the start and end caps from
    // the hook cap.
    Pen capPen = new Pen(Color.Red, 10);
    LineCap startCap;
    LineCap endCap;
    HookCap.GetStrokeCaps(out startCap, out endCap);
    capPen.StartCap = startCap;
    capPen.EndCap = endCap;

    // Create a line to draw.
    Point[] points = { new Point(100, 100), new Point(200, 50), 
        new Point(250, 300) };

    // Draw the lines.
    e.Graphics.DrawLines(capPen, points);
    e.Graphics.DrawLines(customCapPen, points);

}

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
    System.Drawing.Drawing2D.CustomLineCap
       System.Drawing.Drawing2D.AdjustableArrowCap

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

CustomLineCap-Member
System.Drawing.Drawing2D-Namespace