Share via


Erstellen eines Windows Forms-Steuerelements (C++)

Windows Forms-Steuerelemente sind Komponenten, die Windows Forms-Anwendungen hinzugefügt werden können. (Dies sind GUI-Anwendungen, die für die Common Language Runtime erstellt werden.) Windows Forms-Anwendungen in Visual C++ verwenden .NET Framework-Klassen und andere .NET-Features mit der neuen Visual C++-Syntax.

In diesem Verfahren erstellen Sie ein Windows Forms-Steuerelement, das eine Zahl anzeigt. Diese Zahl wird immer dann erhöht, wenn ein Benutzer auf die Bezeichnung in einer Anwendung klickt. Weiterhin erstellen Sie zum Testen des Steuerelements ein Windows Forms-Anwendungsprojekt.

In dieser exemplarischen Vorgehensweise werden folgende Themen behandelt:

  • Erstellen eines neuen Projekts

  • Entwerfen des Steuerelements

  • Hinzufügen einer benutzerdefinierten Eigenschaft zum Steuerelement

  • Hinzufügen eines Projekts zum Testen des Steuerelements

  • Einfügen des Steuerelements in eine Anwendung

  • Ausführen der Anwendung

Voraussetzungen

In diesem Thema wird davon ausgegangen, dass Sie die Grundlagen der Programmiersprache C++ beherrschen.

Link zu Video Eine Videoversion dieses Themas finden Sie unter Video How to: Creating a Windows Forms Control (C++).

Erstellen eines neues Projekts

Die in diesem Abschnitt verwendete Projektvorlage für ein Windows Forms-Steuerelement erstellt ein Benutzersteuerelement. Dies ist ein zusammengesetztes Steuerelement, das andere Steuerelemente enthält.

Alternativ können Sie ein Windows Forms-Steuerelement erstellen, indem Sie eine Klasse direkt aus der Control-Klasse (der Code ist für das Zeichnen des Steuerelements verantwortlich) oder aus der Component-Klasse (ein Steuerelement ohne Benutzeroberfläche) ableiten.

So erstellen Sie ein neues Windows Forms-Steuerelementprojekt

  1. Klicken Sie im Menü Datei auf Neu und anschließend auf Projekt.

  2. Wählen Sie im Bereich Projekttypen im Knoten Visual C++ die Option CLR aus. Wählen Sie dann im Bereich Von Visual Studio installierte Vorlagen die Option Windows Forms-Steuerelementbibliothek aus.

    Geben Sie einen Namen für das Projekt ein, z. B. clickcounter.

    Geben Sie einen anderen Namen für die Projektmappe ein, z. B. controlandtestapp.

    Sie können den Standardspeicherort akzeptieren, einen gewünschten Speicherort eingeben oder einen Speicherort für das Projekt suchen.

  3. Der Windows Forms-Designer wird geöffnet. Er zeigt einen Bereich an, der zum Hinzufügen der Steuerelemente dient, die Sie auf der Steuerelemententwurfsoberfläche positionieren möchten.

Entwerfen des Steuerelements

In diesem Schritt fügen Sie der Steuerelemententwurfsoberfläche ein Label-Steuerelement hinzu. Anschließend legen Sie einige Eigenschaften des Steuerelements selbst und des darin enthaltenen Label-Steuerelements fest.

So legen Sie die Eigenschaften eines Benutzersteuerelements fest

  1. Wenn Sie das Fenster Eigenschaften nicht sehen, klicken Sie im Menü Ansicht auf Eigenschaftenfenster.

    Klicken Sie im Windows Forms-Designer auf das Steuerelement, um es auszuwählen, und legen Sie die Eigenschaften wie folgt fest:

    • Legen Sie die Size-Eigenschaft auf 100, 100 fest.

    • Legen Sie die BorderStyle-Eigenschaft auf Fixed3D fest.

      Die Begrenzungen der Bezeichnung werden angezeigt, wenn das Steuerelement in einer Anwendung positioniert wird.

  2. Wenn das Fenster Toolbox nicht sichtbar ist, wählen Sie im Menü Ansicht die Option Toolbox aus.

    Ziehen Sie ein Label-Steuerelement aus der Toolbox in die Entwurfsoberfläche, und positionieren Sie es ungefähr in der Mitte des Steuerelements.

    Legen Sie für die Bezeichnung die folgenden Eigenschaften fest:

    • Legen Sie die BorderStyle-Eigenschaft auf FixedSingle fest.

    • Legen Sie die Text-Eigenschaft auf die Ziffer 0 (null) fest.

    • Legen Sie die Autosize-Eigenschaft auf False fest.

    • Legen Sie die Size-Eigenschaft auf 30, 20 fest.

    • Legen Sie die TextAlign-Eigenschaft auf MiddleCenter fest.

    Belassen Sie die Name-Eigenschaft unverändert bei label1. (Das ist die Bezeichnung, die auch im Code verwendet wird). Das Steuerelement sollte etwa folgendermaßen aussehen:

    Das Layout des Steuerelements

  3. Fügen Sie einen Ereignishandler für das Click-Ereignis der Bezeichnung (das Standardereignis für eine Bezeichnung) hinzu, indem Sie auf die Bezeichnung doppelklicken.

  4. Im Bearbeitungsbereich wird die Datei clickcounter.hmit einer leeren Ereignishandlermethode angezeigt.

    Hinweis

    Wenn Sie mehr Platz benötigen, schließen Sie die Toolbox oder das Eigenschaftenfenster, indem Sie auf das entsprechende Schließfeld klicken oder die Fixierung aufheben, sodass sie automatisch verborgen werden.

  5. Bewegen Sie den Cursor hinter die geschweifte linke Klammer der label1_Click-Methode, drücken Sie die EINGABETASTE, und geben Sie Folgendes ein:

    int temp = System::Int32::Parse(label1->Text);
    temp++;
    label1->Text = temp.ToString();
    

    IntelliSense zeigt nach der Eingabe des Bereichsauflösungsoperators (::), des Punktoperators (.) oder des Pfeiloperators (->) eine Liste mit gültigen Auswahlmöglichkeiten an. Sie können ein Element markieren und die TAB-TASTE oder die EINGABETASTE drücken oder auf ein Element doppelklicken, um das Element in den Code einzufügen.

    Ebenso zeigt Visual Studio, wenn Sie für eine Methode eine öffnende runde Klammer eingeben, gültige Argumenttypen für jede Überladung der Methode an.

Hinzufügen einer benutzerdefinierten Eigenschaft zum Steuerelement

In diesem Schritt definieren Sie eine benutzerdefinierte Eigenschaft, mit der bestimmt wird, ob die im Steuerelement angezeigte Zahl erhöht wird, wenn ein Benutzer auf die Bezeichnung oder auf eine beliebige Position innerhalb des Steuerelements klickt.

So fügen Sie einem Steuerelement eine benutzerdefinierte Eigenschaft hinzu

  1. Platzieren Sie den Cursor hinter den Doppelpunkt des ersten public-Bereichsindikators public: am Anfang der Datei clickcounterControl.h, drücken Sie die EINGABETASTE, und geben Sie Folgendes ein:

    property bool ClickAnywhere {
        bool get() {
            return (label1->Dock == DockStyle::Fill);
        }
        void set(bool val) {
            if (val) 
                label1->Dock = DockStyle::Fill;
            else 
                label1->Dock = DockStyle::None;
        }
    }
    

    Wenn Sie die ClickAnywhere-Eigenschaft des Steuerelements auf true festlegen, wird die Dock-Eigenschaft der Bezeichnung auf DockStyle::Fill festgelegt, und die Bezeichnung füllt die gesamte Oberfläche des Steuerelements aus. Ein Klick auf eine beliebige Position innerhalb der Steuerelementoberfläche löst dann ein Click-Ereignis für die Bezeichnung aus, wobei die Zahl in der Bezeichnung erhöht wird.

    Wenn die ClickAnywhere-Eigenschaft auf false (der Standardwert) festgelegt ist, wird die Dock-Eigenschaft der Bezeichnung auf DockStyle::None festgelegt. Die Bezeichnung nimmt nicht das gesamte Steuerelement ein, und ein Klick auf das Steuerelement muss innerhalb der Bezeichnungsbegrenzung erfolgen, um ein Click-Ereignis für die Bezeichnung auszulösen und die Zahl zu erhöhen.

  2. Erstellen Sie das Benutzersteuerelement. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Wenn keine Fehler auftreten, wird ein Windows Forms-Steuerelement mit dem Dateinamen clickcounter.dll generiert. Sie finden diese Datei in der Projektverzeichnisstruktur.

Hinzufügen eines Projekts zum Testen des Steuerelements

In diesem Schritt erstellen Sie ein Windows Forms-Anwendungsprojekt, in dem Sie Instanzen des clickcounter-Steuerelements in einem Formular positionieren.

Hinweis

Sie können die Windows Forms-Anwendung, die Sie zum Testen des Steuerelements verwenden, in Visual C++ oder einer anderen .NET-Sprache wie C# oder Visual Basic schreiben.

So erstellen Sie ein Windows Forms-Anwendungsprojekt

  • Wählen Sie im Menü Datei die Option Neu aus, und klicken Sie dann auf Projekt....

Sie können der Projektmappe auch ein Projekt hinzufügen, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe controlandtestapp klicken, auf Hinzufügen zeigen und dann auf Neues Projekt... klicken.

  1. Wählen Sie im Bereich Projekttypen im Knoten Visual C++ die Option CLR aus. Wählen Sie dann im Bereich Von Visual Studio installierte Vorlagen die Option Windows Forms-Anwendung aus.

    Geben Sie einen Namen für das Projekt ein, z. B. testapp.

    Stellen Sie sicher, dass in der Dropdownliste Projektmappe anstelle der Standardeinstellung Neue Projektmappe erstellen die Option Hinzufügen ausgewählt ist, und klicken Sie dann auf OK.

  2. Der Windows Forms-Designer wird für das neue Projekt geöffnet und zeigt wie in dieser Abbildung ein neues Formular mit dem Namen Form1 an.

    Neu erstelltes Formular

So fügen Sie der Toolbox ein Steuerelement hinzu

  1. Fügen Sie dem Steuerelement einen Verweis hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt testapp, und klicken Sie dann auf Verweise.

    Klicken Sie auf die Schaltfläche Neuen Verweis hinzufügen, klicken Sie auf die Registerkarte Projekte (Sie fügen einen Verweis auf ein anderes Projekt in dieser Projektmappe hinzu), und wählen Sie dann das Projekt clickcounter aus. Klicken Sie zweimal auf OK.

  2. Wenn das Fenster Toolbox nicht angezeigt wird, wählen Sie im Menü Ansicht die Option Toolbox aus.

  3. Wenn Sie das clickCounter-Steuerelement mit einem "Zahnrad"-Symbol nicht in der Toolbox finden können, klicken Sie mit der rechten Maustaste auf die Toolbox, und klicken Sie dann auf Elemente auswählen.

    Klicken Sie auf die Schaltfläche Durchsuchen, und suchen Sie die Datei clickcounter.dll in der Verzeichnisstruktur der Projektmappe. Wählen Sie sie aus, und klicken Sie auf Öffnen.

    Das clickcounter-Steuerelement wird in der Liste .NET Framework-Komponenten mit einem Häkchen angezeigt. Klicken Sie auf OK.

    Das Steuerelement wird in der Toolbox mit dem Standardsymbol "Zahnrad" angezeigt.

Einfügen des Steuerelements in eine Anwendung

In diesem Schritt platzieren Sie zwei Instanzen des Steuerelements in einem Anwendungsformular und legen ihre Eigenschaften fest.

So platzieren Sie Instanzen eines Steuerelements in einem Formular

  1. Ziehen Sie zwei Instanzen des clickcounter-Steuerelements aus der Toolbox. Platzieren Sie die beiden Instanzen so auf dem Formular, dass sie sich nicht überschneiden.

    Wenn Sie das Formular verbreitern möchten, klicken Sie auf das Formular, um es auszuwählen, und ziehen Sie einen der Auswahlziehpunkte nach außen.

  2. Wenn das Eigenschaftenfenster nicht angezeigt wird, wählen Sie im Menü Ansicht die Option Eigenschaften aus.

    Die ClickAnywhere-Eigenschaft befindet sich im Abschnitt Sonstiges des Eigenschaftenfensters (wenn die Eigenschaften nach Kategorien geordnet sind).

  3. Klicken Sie auf eine Instanz des clickcounter-Steuerelements im Formular, um sie auszuwählen, und legen Sie dann die zugehörige ClickAnywhere-Eigenschaft auf true fest.

  4. Belassen Sie die ClickAnywhere-Eigenschaft der anderen Instanz des clickcounter-Steuerelements bei false (dem Standardwert).

  5. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt testapp, und wählen Sie Als Startprojekt festlegen aus.

  6. Klicken Sie im Menü Erstellen auf Projektmappe neu erstellen.

    Die beiden Projekte sollten ohne Fehler erstellt werden.

Ausführen der Anwendung

In diesem Schritt führen Sie die Anwendung aus und klicken auf die Steuerelemente, um sie zu testen.

So testen Sie die Anwendung

  1. Wählen Sie im Menü Debuggen die Option Debuggen starten.

    Das Formular wird mit den beiden sichtbaren Instanzen des Steuerelements angezeigt.

  2. Führen Sie die Anwendung aus, und klicken Sie auf beide clickcounter-Steuerelemente:

    • Klicken Sie auf das Steuerelement, dessen ClickAnywhere-Eigenschaft auf true festgelegt ist.

      Die Zahl in der Bezeichnungwird erhöht, wenn Sie auf eine beliebige Position innerhalb des Steuerelements klicken.

    • Klicken Sie auf das Steuerelement, dessen ClickAnywhere-Eigenschaft auf false festgelegt ist.

      Die Zahl in der Bezeichnung wird nur erhöht, wenn Sie auf eine Position innerhalb der sichtbaren Bezeichnungsbegrenzung klicken. Die folgende Bildschirmabbildung zeigt, wie die Anwendung aussehen könnte, nachdem einige Male darauf geklickt wurde:

Testanwendung mit den Steuerelementen

  1. Schließen Sie die Testanwendung, indem Sie auf das Schließfeld in der rechten oberen Ecke des Fensters Form1 klicken.

Nächste Schritte

Zurück: Erstellen einer Windows Forms-Anwendung mit .NET Framework (C++) | Weiter: Ressourcen zum Erstellen eines Spiels mit DirectX (C++)

Siehe auch

Aufgaben

Einführung in Visual C++

Verweis

Windows API

System.Windows.Forms

Konzepte

Verwenden der Visual Studio-IDE für C++-Entwicklung

Weitere Ressourcen

Entwickeln von Clientanwendungen

Windows Forms-Steuerelemente