Hinzufügen von benutzerdefinierten Schaltflächen mit UI-Werkzeugen

  1. Klicken Sie im Startmenü von Windows auf Alle Programme Microsoft Visual Studio Microsoft Visual Studio.
  2. Erstellen Sie ein Visual C#-Projekt:
    1. Klicken Sie in der Visual Studio-Entwicklungsumgebung im Menü Datei auf Neu Projekt.
    2. Erweitern Sie die linke Werkzeugleiste Visual C#-Vorlagen, und klicken Sie auf InventorETO.
    3. Klicken Sie in der Liste der Vorlagen auf Inventor ETO-Zusatzmodul.
    4. Geben Sie einen Namen für das Projekt ein.
    5. Klicken Sie auf OK, um das Projekt zu erstellen.
  3. Erstellen Sie ein Projekt:
    Mehrere Quelldateien, die automatisch generiert werden, werden zum jeweils richtigen Zeitpunkt an Inventor und Inventor ETO angehängt. Erstellen Sie das Projekt, und stellen Sie sicher, dass die Erstellung erfolgreich abgeschlossen wird. Im Rahmen des Erstellungsprozesses registriert es sich selbst bei Inventor. Hilfe bei der Registrierung des Zusatzmoduls finden Sie in der Readme-Datei, die das Visual C#-Projekt generiert.
  4. Führen Sie Inventor aus:
    1. Öffnen Sie ein Inventor-Projekt und eine Baugruppe.

      In der Multifunktionsleiste werden auf der Registerkarte mit dem Namen des Zusatzmoduls drei Schaltflächen angezeigt: Rendern, Exportierenund Importieren.

    2. Schließen Sie Inventor, ohne zu speichern.
  5. Definieren Sie eine benutzerdefinierte Schaltfläche:
    1. Erweitern Sie im Zusatzmodul Visual Studio den Organisationsordner "UI", und öffnen Sie die Datei "UserInterfaceComponents.cs". Diese Datei definiert die Klasse UserInterfaceComponents, die die Erstellung von Multifunktionsleiste und Schaltflächen steuert.
    2. Fügen Sie dieser Klasse ein ButtonDefinitionWrapper-Objekt hinzu, um die benutzerdefinierte Schaltfläche hinzuzufügen.
    3. Fügen Sie unterhalb des Konstruktors für die Klasse die neue Schaltfläche zu den vorhandenen Schaltflächendefinitionen hinzu.
    4. Um vorhandene Schaltflächen zu entfernen, löschen Sie die entsprechenden Definitionen oder kommentieren Sie sie aus. Fügen Sie die folgende Zeile unter den anderen Schaltflächendefinitionen hinzu:
       internal ButtonDefinitionWrapper MyButton { get; privateset; }
  6. Erstellen Sie ein Schaltflächenexemplar:
    1. Fügen Sie in der Methode "CreateButtonDefinitions" die folgende Zeile hinzu:
       MyButton = CreateButtonDefinition(buttons, addInSite, "MyButton" , CommandTypesEnum .kNonShapeEditCmdType);

      Ein Exemplar einer Schaltfläche mit dem Namen "MyButton" wird angezeigt. Die Klassifizierung lautet "kNonShapeEditCmdType". Wählen Sie die entsprechende Klassifizierung je nach vorgesehenem Verwendungszweck.

      Die Methode CreateButtonDefinition ruft einen Konstruktor in der Klasse ButtonDefinitionWrapper auf, um die Schaltfläche zu erstellen. Der Konstruktor registriert die Ressourcen, die zum Anzeigen der Schaltfläche erforderlich sind.

    2. Um die vorhandenen Schaltflächen aus der Ansicht zu entfernen, entfernen Sie die Instanziierung der anderen Schaltflächen.
  7. Fügen Sie benutzerdefinierte Schaltfläche zur Multifunktionsleiste hinzu:
    1. Suchen Sie in der Datei UserInterfaceComponents.cs nach der Methode CreateAssemblyRibbonTab. Diese Methode fügt jede Komponente zur Multifunktionsleiste des Zusatzmoduls zum Anzeigen hinzu. Die Schaltflächen werden am Ende dieser Methode zur Multifunktionsleiste hinzugefügt. Fügen Sie die neue Schaltfläche durch Hinzufügen der folgenden Zeile hinzu:
    2. Fügen Sie die neue Schaltfläche durch Hinzufügen der folgenden Zeile hinzu:
       controls.AddButton(MyButton.Target, true );
      Schaltflächen werden in der Multifunktionsleiste von links nach rechts hinzugefügt. Überlegen Sie daher, an welcher Stelle Ihre Schaltflächen angezeigt werden sollen.
  8. Erstellen Sie einen Handler für die Schaltfläche "OnExecute":
    1. Öffnen Sie die Datei IntentModel.cs aus dem Stammordner des Projekts.
    2. Fügen Sie eine Methode zur Steuerung von Klicks auf die neue Schaltfläche hinzu. Das folgende Snippet generiert bei jedem Klick ein Meldungsfeld, um zu zeigen, wann die Methode OnExecute aufgerufen wird.
       void MyButton_OnExecute( object sender, ButtonDefinitionWrapper . ExecuteEventArgs e)
       {
      // TODO Implement OnExecute Method
      MessageBox .Show( "MyButton's OnExecute Method" );
      }

      Beim Entfernen der vorhandenen Schaltflächen können Sie die jeweiligen OnExecute-Handler entfernen.

  9. Registrieren Sie den OnExecute-Handler:
    1. Registrieren Sie im Konstruktor für die Klasse IntentModel den Ereignis-Handler bei der Benutzeroberfläche durch Hinzufügen der folgenden Zeile:
       gui.MyButton.OnExecute += new EventHandler < ButtonDefinitionWrapper. ExecuteEventArgs >(MyButton_OnExecute);
  10. Erstellen Sie das Projekt:
    1. Erstellen Sie das Projekt, und bereinigen Sie alle Fehler.
    2. Öffnen Sie ein Inventor-Projekt, und wählen Sie eine Baugruppe aus. Die Multifunktionsleiste des Zusatzmoduls enthält die benutzerdefinierte Schaltfläche. Klicken Sie auf die Schaltfläche, um das im Methoden-Handler OnExecute erstellte Meldungsfeld anzuzeigen.
    3. Schließen Sie Inventor, ohne zu speichern.
  11. Fügen Sie Text zur Schaltfläche hinzu:
    1. Um ein benutzerdefiniertes Symbol und Hilfetext zur Schaltfläche hinzuzufügen, bearbeiten Sie das Design Resources.resx im Organisationsordner Resources für das Projekt.

      Diese Datei definiert für jede Schaltfläche einen Satz von Zeichenfolgen und Bildern.

    2. Um die für eine Schaltfläche erforderlichen Zeichenfolgen hinzuzufügen, folgen Sie dem Modell der anderen Schaltflächen. Als Präfix der einzelnen Ressourcennamen verwenden Sie dieselbe Zeichenfolge wie zum Erstellen des Exemplars einer Schaltfläche.

      Die Zeichenfolge <name>_DisplayName definiert den Namen, der unter dem Symbol für die benutzerdefinierte Schaltfläche angezeigt wird.

      <name>_DescriptionText definiert den pause-over-Text der benutzerdefinierten Schaltfläche.

      <name>_ToolTip entspricht der DescriptionText-Zeichenfolge.

  12. Fügen Sie ein benutzerdefiniertes Symbol hinzu:
    1. Wählen Sie in der Datei resources.resx über das Dropdown-Menü, das derzeit Zeichenfolgen anzeigt, den Eintrag Bilder.
    2. Diese Ansicht definiert die Symbole für die einzelnen Schaltflächen. Geben Sie Ihren Bildern den Namen <name>_LargeIcon und <name>_StandardIcon, um sicherzustellen, dass die ButtonDefinitionWrapper-Klasse diese hinzufügt. Große Symbole in der Größe 32 x 32 Pixel und Standardsymbole in der Größe 16 x 16 Pixel.

      Verwenden Sie als Beispiel den Symbolsatz Render, und benennen Sie die Symbole in MyButton_LargeIcon und MyButton_StandardIcon um, oder verwenden Sie beliebige Bilder.
  13. Erstellen Sie die Lösung:
    1. Speichern Sie die Ressourcendatei, und erstellen Sie die Lösung.
    2. Öffnen Sie Ihr Inventor-Projekt und die Baugruppe erneut. Die Multifunktionsleiste des Zusatzmoduls enthält ein Symbol mit der benutzerdefinierten Schaltfläche. Der neue Anzeigetext ersetzt den Namen der Schaltfläche.
    3. Wenn eine der Ressourcen nicht geladen wird, prüfen Sie, ob Sie für jede Ressource das Präfix verwendet haben, mit dem das Exemplar einer Schaltfläche erstellt wurde.