Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Parent von Steuerelemente in Klassenmodul

Parent von Steuerelemente in Klassenmodul
Steuerelemente
Hallo Forum,
ich spiele grade ein bisschen mit Klassen rum und habe dabei folgendes Problem:
https://www.herber.de/bbs/user/68941.xls
In einem Klassenmodul werden verschiedene Steuerelemente für eine Userform zur Laufzeit erzeugt.
In der Klasse werden verschiedene Properties definiert (zB. Left, Top, Height, Width)
Das funktioniert eigentlich so weit.
Um eine Userform als Parent der Klasse festzulegen, soll eine weitere Property "ParentForm" definiert werden.
Auch das funktioniert noch... aber hierzu hab ich eine Frage:
Im angehängten Beispiel kann

Set .ParentForm = Me
erst erfolgen, wenn die anderen Properties (Left, Top, Height, Width) festgelegt sind.
Ich frage mich, ob und wie es möglich ist, die Reihenfolge beliebig zu halten, so dass zB auch
Private Sub UserForm_Initialize()
Set MyClass = New clsMyClass
With MyClass
Set .ParentForm = Me
.Left = 12
.Top = 12
.Height = 90
.Width = 90
End With
End Sub
zum gewünschten Ergebnis führt.
Wie gesagt, das ist nur 'ne Spielerei um mich selbst mit Klassenmodulen etwas vertrauter zu machen.
Vielen Dank vorab und schöne Ostern.
Gruß
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Parent von Steuerelemente in Klassenmodul
04.04.2010 13:47:07
Steuerelemente
Hallo,
klar, in CreateForm greifst du auf Eigenschaften zu (z.B. sngWidth) die noch garnicht gesetzt sind. Also den Wert 0 haben. Hier: .Width = sngWidth - 12 rechnest du schon mit der Eigenschaft (0 - 12) aber negative Werte für die Width-Eigenschaft sind nicht zulässig.
Dein Fehler: In Property-Prozeduren werden nur Propertys geschrieben oder gelesen, aber keine Methoden ausgeführt!!!!
Gruß
Nepumuk
AW: Parent von Steuerelemente in Klassenmodul
04.04.2010 15:05:50
Steuerelemente
Hi Nepumuk,
vielen Dank für deine Antwort.
Es ist mit schon klar, dann ich genau an dem von dir beschriebenen Punkt festhänge...
und ich hab leider keine Idee, wie ich das vernünftig aufbauen kann.
Wie würdest du das machen?
Viele Grüße
Christian
Anzeige
AW: Parent von Steuerelemente in Klassenmodul
04.04.2010 15:29:44
Steuerelemente
Hallo,
erst alle Eigenschaften setzen, dann die Methode(n) aufrufen.
Wenn du z.B. die FileSearch-Klasse benutzt, dann setzt du doch auch erst die Eigenschaften (Filename, SearchSubFolders, MatchCase .....) bevor du die Execute-Methode aufrufst.
Warum versuchst du das bei deiner anders zu machen?
Darum nochmal, eine Property-Prozedur besteht zu 99,9% aus 3 Zeilen:
Friend / Public Property (Get, Let, Set)
schreiben / lesen der Eigenschaft
End Propery
Gruß
Nepumuk
vielen Dank,
04.04.2010 15:55:38
ChristianM
Nepumuk, für diese Tipps.
Meine Idee war es bestimmte Steuerelemente, die in gleicher Kombination öfters eingesetzt werden in einer Klasse zusammen zu packen und bei Bedarf diese Klasse in das gewünschte Projekt rein zu kopieren.
Wie gesagt, alles nur aus Spielerei zwecks KnowHow-Aufbau.
Wäre schön gewesen, wenn man dann bei der Initialisierung der Userform nicht auf die Reihenfolge der Attribute dieser Klasse achten müsste.
Mit deiner Erlärung komme ich auf jeden Fall weiter.
Vielen Dank und Grüße
Christian
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige