Auf Englisch lesen

Freigeben über


Glyph Klasse

Definition

Stellt eine einzelne von einem Adorner verwaltete Benutzeroberflächenentität dar.

C#
public abstract class Glyph
Vererbung
Glyph
Abgeleitet

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie eine eigene Glyph basierende Klasse mit Behavior zugeordneter Klasse erstellen. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die BehaviorService-Klasse bereitgestellt wird.

C#
class MyGlyph : Glyph
{
    Control control;
    BehaviorService behaviorSvc;

    public MyGlyph(BehaviorService behaviorSvc, Control control) : 
        base(new MyBehavior())
    {
        this.behaviorSvc = behaviorSvc;
        this.control = control;
    }

    public override Rectangle Bounds
    {
        get
        {
            // Create a glyph that is 10x10 and sitting
            // in the middle of the control.  Glyph coordinates
            // are in adorner window coordinates, so we must map
            // using the behavior service.
            Point edge = behaviorSvc.ControlToAdornerWindow(control);
            Size size = control.Size;
            Point center = new Point(edge.X + (size.Width / 2), 
                edge.Y + (size.Height / 2));

            Rectangle bounds = new Rectangle(
                center.X - 5,
                center.Y - 5,
                10,
                10);

            return bounds;
        }
    }

    public override Cursor GetHitTest(Point p)
    {
        // GetHitTest is called to see if the point is
        // within this glyph.  This gives us a chance to decide
        // what cursor to show.  Returning null from here means
        // the mouse pointer is not currently inside of the glyph.
        // Returning a valid cursor here indicates the pointer is
        // inside the glyph, and also enables our Behavior property
        // as the active behavior.
        if (Bounds.Contains(p))
        {
            return Cursors.Hand;
        }

        return null;
    }

    public override void Paint(PaintEventArgs pe)
    {
        // Draw our glyph. It is simply a blue ellipse.
        pe.Graphics.FillEllipse(Brushes.Blue, Bounds);
    }

    // By providing our own behavior we can do something interesting
    // when the user clicks or manipulates our glyph.
    class MyBehavior : Behavior
    {
        public override bool OnMouseUp(Glyph g, MouseButtons button)
        {
            MessageBox.Show("Hey, you clicked the mouse here");
            return true; // indicating we processed this event.
        }
    }
}

Hinweise

Der einzige Zweck eines ist Glyph das Malen und Treffertest. Ein Glyph verfügt nicht über ein Fensterhandle (HWND), da es im Adorner-Fenstersteuerelement des BehaviorServicegerendert wird. Jedem Glyph kann eine Behavior zugeordnet sein. Ein erfolgreich getesteter Glyph Treffer hat die Möglichkeit, eine neue oder eine andere Behavior in den Verhaltensstapel des zu pushen BehaviorService.

Weitere Informationen finden Sie unter Übersicht über den Verhaltensdienst.

Konstruktoren

Glyph(Behavior)

Initialisiert eine neue Instanz der Glyph-Klasse.

Eigenschaften

Behavior

Ruft den Behavior ab, der dem Glyph zugeordnet ist.

Bounds

Ruft die Grenzen des Glyph ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetHitTest(Point)

Stellt Treffertestlogik bereit.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Paint(PaintEventArgs)

Stellt eine Zeichnungslogik bereit.

SetBehavior(Behavior)

Ändert das dem Behavior zugeordnete Glyph.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Produkt Versionen
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen