| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Steuerelementefeld (1389 mal gelesen)
|
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 15. Mrz. 2004 18:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, arbeite gerade das Buch "Visual Basic 6.0 Startpaket" durch, und kann ein Beispiel nicht nachvollziehen , weil es bei mir nicht funktioniert. Ich soll einen Rahmen erstellen und darin 3 Optionsfelder anordnen die den selben Namen haben. Leider will das bei mir überhaupt nicht klappen. Ich bekomme immer eine Fehlermeldung "Eigenschaft Name konnte nicht gesetzt werden. Mehrdeutiger Name.", und das wars auch schon. Müßte das grundsätzlich im IV8 gehen oder mach ich was falsch? ------------------ Gruß Hans-Peter Der Wahnsinn in Sachen Musik. Das Saxregister Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 17. Mrz. 2004 07:37 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
HAllo Hans-Peter, wenn ich's richtig verstehe, ist das ein VB- bzw. ein Verstaendnisproblem. Elemente koennen in VB nicht denselben Namen haben - aber dieselbe Caption. Die Eigenschaft 'Name' muss unikat sein, z.B. Option1, Option2 usw. hingegen koennen alle die Caption "MeineOption" haben. Wenn's das nicht war, musst Du halt Dein Beispiel mal hier aufspielen. Gruesse, Paul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 10:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Paul, ich habe das Beispiel 1. in Visual Basic 6 und 2. im Visual Basic vom Inventor probiert. Vorgehensweise: 1. Rahmen erstellt 2. 3 Optinsbutton in den Rahmen eingefügt 3. Caption geändert beim 1. auf "groß", beim 2. auf "mitte" und beim 3. auf "klein". 4. Namen Eigenschaft geändert beim 1. auf OptionGröße beim 2. auf OtionsGröße beim 3. auf OptionGröße In Visual Basic 6 kommt ein Dialogfeld in dem Gefragt wird ob man ein Steuerelementefeld erstellen will. Wenn man mit Ja antwortet können alle 3 Buttons den selben Namen haben. Im Inventor kommt nur eine Fehlermeldung die besagt das gleiche Namen nicht erstellt werden können. Warum geht es im Visual Basic 6 und im Inventor nicht? ------------------ Gruß Hans-Peter Der Wahnsinn in Sachen Musik. Das Saxregister Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evil_Bart Mitglied CAD Admin (Freiberuflich)
Beiträge: 137 Registriert: 14.08.2003 - Win 7 CAD: - Inventor 2013 Pro - AM 2013 - SAP/PLM
|
erstellt am: 17. Mrz. 2004 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
Hi Hans-Peter.. Grundsätzlich sollten GLEICH Elemente unterschiedlichew Namen haben! z.B. optGross optMittel optKlein usw... Beim erstellen eine Feldes benennt VB die Objekte intern um.. Option1(0) Option1(1) usw..... LG Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 12:15 <-- editieren / zitieren --> Unities abgeben:
|
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 12:34 <-- editieren / zitieren --> Unities abgeben:
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 17. Mrz. 2004 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 17. Mrz. 2004 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
Du kannst es so zu eine Gruppe fassen: Code:
Me.OptionButton1.GroupName = "Gruppe1" Me.OptionButton2.GroupName = "Gruppe1" Me.OptionButton3.GroupName = "Gruppe1"
So hast du den gleichen Effekt, wie wenn du in VB bist, und die gleichnamige Steuerelemente hast, die sich nur durch den Index unterscheiden. ------------------ Grüße daywa1k3r [Diese Nachricht wurde von daywa1k3r am 17. Mrz. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 20:29 <-- editieren / zitieren --> Unities abgeben:
Hallo daywa1k3r, nicht so schnell. Ich bin gerade erst am Anfang. Wie sollte dann die Schleife aussehen?. Private Sub SchaltflFertig_Click() Me.OptionOrtsgröße1.GroupName = "Gruppe1" Me.OptionOrtsgröße2.GroupName = "Gruppe1" Me.OptionOrtsgröße3.GroupName = "Gruppe1" Dim Zähler As Integer Dim Option1 As Integer For Zähler = 0 To 2 If OptionOrtsgröße(Zähler).Value = True Then Exit For End If Next Zähler Option1 = Zähler MsgBox "Sie haben im ersten Rahmen Option" + Str$(Option1 + 1) + " gewählt" End Sub Im VB wird automatisch der erste Button als True dargestellt, wie mach ich das in VBA? ------------------ Gruß Hans-Peter Der Wahnsinn in Sachen Musik. Das Saxregister [Diese Nachricht wurde von SHP am 17. Mrz. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 17. Mrz. 2004 21:45 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
Ok, das mit Gruppen kannst vergessen. VBA checkt schon dass die Option Buttons in gleichem Frame sind und schaltet die schon um. Ich hab dich falsch verstanden. So elegant mit der Schleife geht in VBA natürlich nicht. Aber trotzdem ein Beispiel, wie du den Option Button Caption rausbekommst. Klar kannst du es auch mit:
Code:
If Me.Option1.Value = True Then MsgBox Me.Option1.Caption
machen, aber die Methode ist nicht flexibel. Die kleine Funktion die ich dir geschrieben habe erwartet als Parameter ein Frame, und liefert die die Caption zurück. Nutzlich, wenn du nicht soviel Tippen willst, und nicht weisst wie viele Options in dem Frame du hast. Ausserdem wenn du sagst, dass du erst damit anfängst, ist immer nicht schlecht über solche Code Schnipsel nachzudenken. Code:
Private Sub CommandButton1_Click() MsgBox Get_Option_Name(Me.Frame1) End SubPrivate Sub UserForm_Initialize() Me.OptionButton1.Value = 1 End Sub Private Function Get_Option_Name(oFrame As Frame) As String Dim oOption As OptionButton For Each oOption In oFrame.Controls If oOption.Value = True Then Get_Option_Name = oOption.Caption Exit Function End If Next End Function
Wenn du unbedingt einen Index von den Option Button brauchst dann lass halt einfach eine Laufvariable in Get_Option_Name mit laufen.
------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 22:30 <-- editieren / zitieren --> Unities abgeben:
|
SHP Mitglied Konstrukteur
Beiträge: 1331 Registriert: 17.07.2003 IV9-SP3 IV10-Sp3a IV11
|
erstellt am: 17. Mrz. 2004 22:38 <-- editieren / zitieren --> Unities abgeben:
|
| Ausbildung Kaufmann / Kauffrau für Büromanagement (w/m/d) | Hallo! Mensch und Maschine (MuM) ist einer der führenden Anbieter von CAD-, CAM-, BIM und PDM-Lösungen. Rund 1.000 Menschen arbeiten für MuM weltweit im Wachstumsmarkt CAD. MuM bietet dir zahlreiche Möglichkeiten, dein Können und deine Leistungsbereitschaft einzusetzen. Wir suchen nach neuen Kolleginnen und Kollegen, die Spaß an Software haben, nicht auf den Mund gefallen sind und unkonventionell denken.... | Anzeige ansehen | Weitere: Marketing und Kommunikation |
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 17. Mrz. 2004 22:48 <-- editieren / zitieren --> Unities abgeben: Nur für SHP
Me bezieht sich auf die Form. Kannst auch weg lassen, aber ich habs gerne wenn die ganze Kacke gleich aufgelistet wird. Dann muss ich nicht viel überlegen wie die Steuerelemente heissen. Die Datei: UserForm1.frx ist die Form die du in Inventor VBA laden kannst und es ausprobieren. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |