Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Werkzeugleiste mit Icons erstellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Werkzeugleiste mit Icons erstellen (1726 mal gelesen)
Andreas Widmann
Mitglied
ATHENA Support/Training


Sehen Sie sich das Profil von Andreas Widmann an!   Senden Sie eine Private Message an Andreas Widmann  Schreiben Sie einen Gästebucheintrag für Andreas Widmann

Beiträge: 218
Registriert: 24.08.2005

Windows 10
Autocad 2015 - 2018
Athena 2015 - 2017 Aufsatz

erstellt am: 24. Aug. 2005 19:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute ich habe in Autocad-VBA ein Macro geschrieben das beim ausführen eine neue Werkzeugleiste und ein paar Icons erzeugt.

Das funktioniert auch wunderbar und ich habe jetzt eine Leiste mit mehreren Icons die auch funktionieren.
Mein Problem, was mich schon zur Weißglut bringt, ist dass wenn ich Autocad beende und wieder starte ist die Leiste leer oder weg und wenn ich Icons von der Leiste vorher in andere ziehe, fehlen die verschobenen ebenfalls nach dem Neustart,grr!

Bitte helft mir!

der Code lautet folgendermaßen:


    Code:

    Sub awiupdate()
       
  • 'Variablen und Objekte definieren
        Dim currMenuGroup As AcadMenuGroup
        Dim newToolBar As AcadToolbar, newToolBarButton As AcadToolbarItem
        Dim Macro As String
        Dim BitmapName  As String, IconName As String, IconHelp As String

  • [b)'Fehlermeldungen ausschalten falls die Leiste nicht vorhanden ist[/b]
    On Error Resume Next

     

  • 'Werkzeugleiste löschen wenn sie vorhanden ist
    AutoCAD.MenuGroups("ATH-USER").Toolbars("AWI-Zusatztools").Delete

       
     

  • 'Menügruppe definieren in die die Leiste erstellt werden soll
        Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item("ATH-USER")

     

  • 'Neue Werkzeugleiste mit dem Namen AWI-Zusatztools erstellen
        Set newToolBar = currMenuGroup.Toolbars.Add("AWI-Zusatztools")

     

  • 'Variablen zur Iconerzeugung angeben
        IconName = "Alles ein"
        IconHelp = ""
        Macro = Chr(3) & Chr(3) & "-layer ei * " & Chr(3) & "M ATH_ORUK ATH_LTAU *" & Chr(10)

     

  • 'Iconbild angeben
        BitmapName = "C:\Programme\ATHENA 2004\awi-Allesein.BMP"
       
     
  • 'Icon am ende der Werkzeugleiste erstellen
        Set newToolBarButton = newToolBar.AddToolbarButton(newToolBar.Count + 1, IconName, IconHelp, Macro, False)
        newToolBarButton.SetBitmaps BitmapName, BitmapName

     

  • 'Nächstes Icon definieren
        IconName = "Ansichtsfenster entsperren"
        IconHelp = ""
        Macro = Chr(3) & Chr(3) & "-vbaausf lockaus "
        BitmapName = "C:\Programme\ATHENA 2004\awi-lockaus.BMP"
       
     
  • 'Icon erstellen usw...
        Set newToolBarButton = newToolBar.AddToolbarButton(newToolBar.Count + 1, IconName, IconHelp, Macro, False)
        newToolBarButton.SetBitmaps BitmapName, BitmapName

    On Error GoTo 0

    End Sub



Mfg Andreas
A.Widmann84@gmx.de


[Diese Nachricht wurde von Andreas Widmann am 05. Sep. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 24. Aug. 2005 19:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andreas Widmann 10 Unities + Antwort hilfreich

Hi Andreas,

herzlich willkommen auf cad.de/augce.de !

Zu deiner Frage:

Du verwendest nur MenuGroups udgl. - diese gelten allerdings nur für die Session.

Du müsstest das MenuGroup-Objekt auch in eine Datei schreiben

Zitat:

MenuBar property  Gets the MenuBar object for the session.

MenuFile property  Specifies the location of the AutoCAD customization file for the session.

MenuFileName property  Gets the customization file name where the menu group is located.

MenuGroups property  Gets the MenuGroups collection for the session.

Menus property  Gets the PopupMenus collection.


Also du müsstest mit MenuFileName auch noch arbeiten und deine Collection in eine Datei speichern; solange du nur im RAM arbeitest ist es klar, dass diese nach einem Neustart fehlen.

------------------
Grüsse

Thomas

[Diese Nachricht wurde von tunnelbauer am 24. Aug. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas Widmann
Mitglied
ATHENA Support/Training


Sehen Sie sich das Profil von Andreas Widmann an!   Senden Sie eine Private Message an Andreas Widmann  Schreiben Sie einen Gästebucheintrag für Andreas Widmann

Beiträge: 218
Registriert: 24.08.2005

erstellt am: 25. Aug. 2005 12:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke, tunnelbauer für die schnelle antwort!

Ok, ich habe das mal so versucht und diesen Code ans Ende gesetzt:

Code:

AutoCAD.MenuGroups("ATH-USER").Save acMenuFileCompiled


Wenn ich jetzt ACAD neu starte ist die leiste noch da und auch deren Icons.
Wenn ich aber jetzt eines der Icons von Hand in eine andere Werkzeugleiste verschiebe oder kopiere habe ich wieder den gleichen Salat alle Icons die mit dem Macro erstellt waren sind weg, ich verzweifel langsam.

Zu Menufilename: Ich verwende ja eine vorhandene Menügruppe in der ich dann meine Leiste erzeuge deshalb steht der Menufilename doch schon fest,oder?

Hast du mir vielleicht einen Codeschnipsel von nem Beispiel wo sowas ähnliches gemacht wird?

mfg Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas Widmann
Mitglied
ATHENA Support/Training


Sehen Sie sich das Profil von Andreas Widmann an!   Senden Sie eine Private Message an Andreas Widmann  Schreiben Sie einen Gästebucheintrag für Andreas Widmann

Beiträge: 218
Registriert: 24.08.2005

Windows 10
Autocad 2015 - 2018
Athena 2015 - 2017 Aufsatz

erstellt am: 05. Sep. 2005 18:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Keiner mehr ne Idee? 

Ich bräuchte dringend Hilfe zu dem Thema ich habs immer noch nicht hingekriegt sobald ich meine Leisten verändere sind sie danach weg 

------------------
Mfg Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz