| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | SOLIDWORKS im Browser: Das neue SOLIDWORKS Cloud Offer |
Autor
|
Thema: OK Button im PropertyManager (706 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 29. Nov. 2006 12:14 <-- editieren / zitieren -->
Hallo, im VB.Net Template (http://www.solidworks.com/downloads/API/Downloads/00000/0300s/0373/VBTemplate.zip) ist auch ein PropertyManager enthalten. Da sind einige Steuerelemente implementiert, nur grad kein OK Knopf. Da haperts, sobald ich den OK Button in der Form 'button1 controlType = swPropertyManagerPageControlType_e.swPropertyManagerButton_OK leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible button1 = group1.AddControl(button1ID, controlType, "Berechnung starten", leftAlign, options, "Unnötige Berechnung") Der Ok Button hat eine ID, lückenlos in der Reihe. Es wird fehlerfrei compiliert aber Solidworks meckert dann, das die Zusatzanwendung nicht geladen werden kann weil eine Komponente fehlt. Ich komme hier nicht weiter. Der Knopf soll ein sogenannter PropertyManagerPageButton sein, als OK Schaltfläche mit eigenem Text, wie im VB Formulareditor eine normaler Commandbutton. Da der Rechner hier ein anderer ist (mit Internetzugang) und rumzickt kann ich noch nicht mal das Bild aus der Api dazuladen. Ich hoffe ich wisst was ich meine... Wer das Template benutzt sollte den Handler updaten. Laut Api ist der PropertyManagerPage2Handler3 aktuell (zu erkennen an der 3 am Ende). Da müssen dann auch einige Prozeduren dazuimplementiert werden (siehe api) . Ich kann die gerne zur Verfügung stellen, wenn Bedarf da ist. Gruß,
Andreas |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 29. Nov. 2006 13:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, ja was soll ich sagen, das kann an mehreren Dingen liegen. Als erstes ist ein solcher Button welchen du einfügen möchtest kein Ok Button, sondern einfach ein Button. Der Ok Button ist der Button oberhalb der PropertyPage mit dem Häckchen. Diesen kann man zum Beispiel im PropHandler in der Schnittstellenfunktion OnClose abfragen. Ein "Normaler" Button ist vom ControlType = SwConst.swPropertyManagerPageControlType_e.swControlType_Button. Den Klick auf einen "Normalen" Button kannst du im PropertyHandler mit der Schnittstellenfunktion OnButtonPress abfangen. Wenn du mit VB.NET unterweges bist, ist es zudem wichtig, deine Klasse mit Hilfe eines Attributs als Com-Klasse festzulegen und dein Projekt als Com sichtbar zu machen. Das Thema PropertyManager ist allerding sehr komplex, so das ich hier nicht alles erläutern kann. Sehe ich es richtig das du den PropertyManager in ein SolidWorks Addin integriert hast? Denn die Fehlermeldung hat eigentlich nichts mit dem PropertyManager zutun sondern mit einem Addin, welches SolidWorks nicht verarbeiten, bzw. lesen kann! Du siehst, es ist nicht so einfach. Starte den PropertyManager einfach mal aus einem externen Projekt, durch eine SubMain zum Beispiel, und nicht als SolidWorks Addin. Dann kannst du einen Fehler nach dem anderen abarbeiten und im Debugmodus Schritt für Schritt durch deinen Code springen. Viel Glück!
------------------ Mfg Daniel Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code! ---------------------------------------------- SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung
SolidWorks API Programmierung; Schuler Design Automation GmbH | kontakt@schuler-da.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Nov. 2006 13:23 <-- editieren / zitieren -->
Hallo Daniel, es läuft nun wieder. Der Grund war ganz einfach, das ich den richtigen normalen Button einbauen musste. Dieser: swPropertyManagerPageControlType_e.swControlType_Button ist der richtige, den hab ich gesucht. Hab deine Antwort gelesen, die Zeile geändert - läuft. Was will man mehr ? Den Rest deiner Antwort hab ich mal gecheckt, meine Klassen sind alle als .COM sichtbar. Gruß, Andreas |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|