| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Tastenkürzel in Add-In oder direkt in Inventor festlegen? (1040 / mal gelesen)
|
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 24. Aug. 2021 07:37 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie legt Ihr die Tastenkürzel für Funktionen in Eurem Add-In fest? Direkt im .NET-Code mit *.OverrideShortcut = "" oder im Inventor über Anpassen > Tastatur? Gehen Tastenkürzel im Inventor verloren, wenn das Add-In mal nicht geladen wird? Wenn ja, würde es ja für eine Festlegung im Add-In sprechen. Allerdings kann ein Anwender dann die Tastenkürzel im Inventor nicht übersteuern bzw. verändern. Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 24. Aug. 2021 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
Moin Ich leg mittlerweile gar keine mehr fest. Da die Tastenkürzel bereits zum größten Teil von Inventor selbst belegt sind, finden sich kaum noch sinnvolle Kürzel. Mit OverrideShortCut überschreibst du aber beim jedem Inventorstart das eventuell vom User geänderte Kürzel wieder mit deinem Kürzel. Initial müßte es eigentlich mit DefaultShortCut gehen. Das wird dann auch beim Zurücksetzen aller Tastenkürzel wieder hergestellt. Ja, wird das Addin mal nicht geladen, verwirft Inventor den OverrideShortCut, stellt aber auch den DefaultShortCut nicht wieder her. Der Befehl hat dann gar keinen ShortCut mehr. Mein Vorschlag: Definiere das DefaultShortCut im Addin. Benutze die Deactivate Sub, um den aktuellen OverrideShortCut zu speichern (z.B. mit SaveSetting in der Registry) wenn IsShortCutOverridden=True. Hole es mit GetSetting in der Activate Sub wieder aus der Registry raus falls vorhanden und fülle damit den OverrideShortCut. Damit sollte a) ein initialer ShortCut vorhanden sein b) jeder User an dem Rechner seinen eigenen ShortCut hinterlegen können (SaveSetting muss unter HKCU speichern) c) der Default restore pro User funktionieren d) der OverrideShortCut auch ein Nichladen des AddIns überstehen Soweit mal die Theorie ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 24. Aug. 2021 10:05 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von rkauskh: MoinIch leg mittlerweile gar keine mehr fest. Da die Tastenkürzel bereits zum größten Teil von Inventor selbst belegt sind, finden sich kaum noch sinnvolle Kürzel. Mit OverrideShortCut überschreibst du aber beim jedem Inventorstart das eventuell vom User geänderte Kürzel wieder mit deinem Kürzel. Initial müßte es eigentlich mit DefaultShortCut gehen. Das wird dann auch beim Zurücksetzen aller Tastenkürzel wieder hergestellt. Ja, wird das Addin mal nicht geladen, verwirft Inventor den OverrideShortCut, stellt aber auch den DefaultShortCut nicht wieder her. Der Befehl hat dann gar keinen ShortCut mehr. Mein Vorschlag: Definiere das DefaultShortCut im Addin. Benutze die Deactivate Sub, um den aktuellen OverrideShortCut zu speichern (z.B. mit SaveSetting in der Registry) wenn IsShortCutOverridden=True. Hole es mit GetSetting in der Activate Sub wieder aus der Registry raus falls vorhanden und fülle damit den OverrideShortCut. Damit sollte a) ein initialer ShortCut vorhanden sein b) jeder User an dem Rechner seinen eigenen ShortCut hinterlegen können (SaveSetting muss unter HKCU speichern) c) der Default restore pro User funktionieren d) der OverrideShortCut auch ein Nichladen des AddIns überstehen Soweit mal die Theorie
@Ralf: Vielen herzlichen Dank für die Antwort. Das hört sich echt profimäßig und durchdacht an. Da muss ich mich mal näher mit beschäftigen, da es ja einige Schritte sind... Wobei wir die Tastenkürzel mittels XML eh zentral ausrollen, was bedeutet, dass individuelle Tastenkürzel sowieso dann weg sind Danke und Grüße MB-Ing
------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 03. Sep. 2021 09:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von rkauskh: MoinIch leg mittlerweile gar keine mehr fest. Da die Tastenkürzel bereits zum größten Teil von Inventor selbst belegt sind, finden sich kaum noch sinnvolle Kürzel. Mit OverrideShortCut überschreibst du aber beim jedem Inventorstart das eventuell vom User geänderte Kürzel wieder mit deinem Kürzel. Initial müßte es eigentlich mit DefaultShortCut gehen. Das wird dann auch beim Zurücksetzen aller Tastenkürzel wieder hergestellt. Ja, wird das Addin mal nicht geladen, verwirft Inventor den OverrideShortCut, stellt aber auch den DefaultShortCut nicht wieder her. Der Befehl hat dann gar keinen ShortCut mehr. Mein Vorschlag: Definiere das DefaultShortCut im Addin. Benutze die Deactivate Sub, um den aktuellen OverrideShortCut zu speichern (z.B. mit SaveSetting in der Registry) wenn IsShortCutOverridden=True. Hole es mit GetSetting in der Activate Sub wieder aus der Registry raus falls vorhanden und fülle damit den OverrideShortCut. Damit sollte a) ein initialer ShortCut vorhanden sein b) jeder User an dem Rechner seinen eigenen ShortCut hinterlegen können (SaveSetting muss unter HKCU speichern) c) der Default restore pro User funktionieren d) der OverrideShortCut auch ein Nichladen des AddIns überstehen Soweit mal die Theorie
Hast Du es ungefähr so gemeint? Code: Public Sub Activate(ByVal addInSiteObject As Inventor.ApplicationAddInSite, ByVal firstTime As Boolean) Implements Inventor.ApplicationAddInServer.Activate Try ... Button_Finish.DefaultShortcut = "OB" ... If GetSetting(ClsGlobalParameters.AppName, ClsGlobalParameters.SectionShortCuts, Button_Finish.InternalName) IsNot "" Then Button_Finish.OverrideShortcut = GetSetting(ClsGlobalParameters.AppName, ClsGlobalParameters.SectionShortCuts, Button_Finish.InternalName) End If ... End SubPublic Sub Deactivate() Implements Inventor.ApplicationAddInServer.Deactivate If Button_Finish.IsShortcutOverridden Then SaveSetting(ClsGlobalParameters.AppName, ClsGlobalParameters.SectionShortCuts, Button_Finish.InternalName, Button_SetSurface.OverrideShortcut) ... End If
Code: Button_Finish.DefaultShortcut = "OB"
setzt bei mir keinen ShortCut, obwohl für die Funktion nichts definiert ist? Was mache ich da falsch? Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 04. Sep. 2021 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
Hallo Sieht auf den ersten Blick OK aus. Der DefaultShortCut wird beim ersten Start des Addins nach der Installation erzeugt. Ich hab das damals nicht weiter nachverfolgt, hatte aber den Eindruck bei einem Update des Addins musste ich erst die alte Version deinstallieren, Inventor einmal ohne installiertes Addin starten und beenden und dann die neue Version installieren. Dann war auch der DefaultShortCut da. Wird der Default nicht angelegt oder werden Overrides nicht gespeichert? Hast du mal einen OverrideShortCut über die GUI festgelegt und wird der in der Registry gespeichert?
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 04. Sep. 2021 07:57 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 04. Sep. 2021 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
|
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 06. Sep. 2021 07:28 <-- editieren / zitieren --> Unities abgeben:
Hi Ralf, ja der Haken ist gesetzt. Was könnte den Befehl Button_Finish.DefaultShortcut = "OB" noch "stören"? Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 06. Sep. 2021 20:33 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
|
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 07. Sep. 2021 08:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von rkauskh: HalloKannst du mal probieren dein Addin zu deinstallieren. Dann einmal Inventor ohne Addin starten und wieder beenden. Anschließend das Addin wieder installieren. Wird es dann angezeigt?
Hi Ralf, das hat etwas gebracht :) Vielen herzlichen Dank für Dein Engagement und Zeit. Code: Button_Finish.DefaultShortcut = Keys.OemMinus
Ist das wirklich das Minuszeichen im Nummernfeld oder auch der Bindestrich? Im Inventor kommt 189 als Tastenkürzel an ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 07. Sep. 2021 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
Hallo Ja, das ist der Keycode für das Numblock Minuszeichen. Das DefaultShortCut Property erwartet aber einen String, keinen Keycode. Ich denke nicht das man über die API mit Keycodes weiter kommt. Mir ist auch nicht ganz klar, wie Autodesk sich das genau gedacht hat. Wenn ich beispielsweise "Alt + Strg + U" als Default nehmen will, kommt im Inventor "ALTSTRGU" an und funktioniert natürlich nicht. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 07. Sep. 2021 10:40 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von rkauskh: HalloJa, das ist der Keycode für das Numblock Minuszeichen. Das DefaultShortCut Property erwartet aber einen String, keinen Keycode. Ich denke nicht das man über die API mit Keycodes weiter kommt. Mir ist auch nicht ganz klar, wie Autodesk sich das genau gedacht hat. Wenn ich beispielsweise "Alt + Strg + U" als Default nehmen will, kommt im Inventor "ALTSTRGU" an und funktioniert natürlich nicht.
@Ralf: Wie kann ich dem Inventor den ShortCut Bindestrich unterjubeln? Ändere ich es manuell im Inventor wird in die Registry "-" geschrieben. Will ich es als DefaultShhortCut zuweisen, wirft er einen Fehler ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 07. Sep. 2021 12:53 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 08. Sep. 2021 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für mb-ing
Hallo Was Inventor mit dem Enum macht, keine Ahnung. Es ist ein read only Property und für mich bisher ohne Belang. Interessanter Artikel, der mal wieder zeigt das die API Dokumentation und die Realität nicht unbedingt das Gleiche sind. Dort findet man keinen Hinweis, dass Tastenkürzel nur über OverrideShortCut gehen und DefaultShortCut nur Aliasse zulässt. Das "-" des Zahlenblocks wäre ein Tastenkürzel, dass laut dem Artikel nur über OverrideShortCut geht und auch nur wenn es nicht anderweitig vergeben ist. Eventuell müsste man mal schauen was in der englischen Version als ShortCut angezeigt wird, wenn man in der GUI diese Taste zuweist. Irgendwas wie "- (NUMBLOCK)" oder so ähnlich. Vielleicht klappts damit. Als letzte Option: Wenn ich das richtig sehe, speichert Inventor die Tastenkürzel als Hexwert in C:\Users\%USERNAME%\AppData\Roaming\Autodesk\Inventor 2022\InventorCustomization.xml. Die könnte man im Setup des Addins beim Installieren um den ShortCut ergänzen. Hab aber nicht getestest, was dann passiert. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 09. Sep. 2021 07:47 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von rkauskh: HalloWas Inventor mit dem Enum macht, keine Ahnung. Es ist ein read only Property und für mich bisher ohne Belang. Interessanter Artikel, der mal wieder zeigt das die API Dokumentation und die Realität nicht unbedingt das Gleiche sind. Dort findet man keinen Hinweis, dass Tastenkürzel nur über OverrideShortCut gehen und DefaultShortCut nur Aliasse zulässt. Das "-" des Zahlenblocks wäre ein Tastenkürzel, dass laut dem Artikel nur über OverrideShortCut geht und auch nur wenn es nicht anderweitig vergeben ist. Eventuell müsste man mal schauen was in der englischen Version als ShortCut angezeigt wird, wenn man in der GUI diese Taste zuweist. Irgendwas wie "- (NUMBLOCK)" oder so ähnlich. Vielleicht klappts damit. Als letzte Option: Wenn ich das richtig sehe, speichert Inventor die Tastenkürzel als Hexwert in C:\Users\%USERNAME%\AppData\Roaming\Autodesk\Inventor 2022\InventorCustomization.xml. Die könnte man im Setup des Addins beim Installieren um den ShortCut ergänzen. Hab aber nicht getestest, was dann passiert.
Hi Ralf, bei dem Minus-Zeichen schreibt er tatsächlich - (NUMBLOCK) rein. Aber ich brauche den Bindestrich Ich gebe es einfach auf Danke Dir für Deine super Untersützung! Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |