Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
Anzeige
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
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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige