CEdit dynamisch erzeugen
-
eingabefeld.ShowWindow(SW_SHOW);
ShuBuddy
-
Hallo,
schade, es wird nicht angezeigt.
-
Da du in OnInitDialog eine lokale Instanz von CEdit anlegst, wird das Eingabefeld wieder zerstört, sobald OnInitDialog beendet ist.
-
Hallo,
danke, das ist ein wichtiger Hinweis.
Wo sollte ich den Block dann hinschreiben? Ich habe OnPaint probiert, jedoch mit dem gleichen Ergebnis wie OnInitDialog.gibt es eine Möglichkeit Member-Variablen während der Laufzeit dem Objekt hinzuzuüfgen, sodass z.B. eingabefeld eine Membervariable wird?
Viele Grüße
Franki
-
New ist dein Freund
-
Hallo,
danke, ich habe es nun über new probiert. Es hat geklappt
Viele Grüße und schönen Tag noch
Frank
-
Aber nicht vergessen den Speicher hinterher wieder schön frei zu geben mit delete
-
Eigentlich sollte man hier besser nicht new benutzen, sondern das CEdit zum Member der Dialogklasse machen.
-
MFK schrieb:
Eigentlich sollte man hier besser nicht new benutzen, sondern das CEdit zum Member der Dialogklasse machen.
das eine schliesst das andere nicht aus.
Esco
-
Esco schrieb:
das eine schliesst das andere nicht aus.
Wie meinst du das? Ich kann mir keine sinnvolle Kombination aus new und CEdit-Member vorstellen.
-
Wenn er eine beliebige Anzahl von CEdits durch den Code erstellen möchte, wie soll er dann dafür Membervariablen aus dem Code heraus erzeugen?
Würd mich jetzt mal interessieren wie das gehen soll. Mir fällt kein Ansatz dazu ein.
Das einzige was ich mir vorstellen könnte wär er CArray<CEdit, CEdit> als Member zu dem man dann weitere CEdits hinzufügen könnte. Oder halt irgendwie von "Hand" nen Array mit dynamischer Größe als Membervariable bauen.Wie meinst du das? Ich kann mir keine sinnvolle Kombination aus new und CEdit-Member vorstellen.
ich bisher auch nicht *denk*
-
MFK schrieb:
Esco schrieb:
das eine schliesst das andere nicht aus.
Wie meinst du das? Ich kann mir keine sinnvolle Kombination aus new und CEdit-Member vorstellen.
in der header:
CEdit* poTitelEdit;
in der cpp:
poTitelEdit = new CEdit(); // ...
Esco
-
Okay, so meinst du das..
aber was habe ich da für Vorteile, ausser das der Speicher erst bei Benutzung reserviert wird? Ich meine wo ist der vorteil der dynamic zu Laufzeit, wenn ich die Variable schon vorher festlegen muss?
Kann ja gut sein das es irgendwo sinn macht, mir wills nur nicht einfallen
-
hammn deiner meinung nach pointer ueberhaupt einen sinn?
Esco
-
Sicher, mehrere sogar
Zum Beispiel bei Parameterübergaben, variable Zugriffe auf Objekte, oder wenn man stark auf Speicherkapazitäten achten muss, letzteres ist für meine Aufgaben allerdings nicht mehr nötig (seitdem es Megabyte-Weise hauptspeicher gibt), etc. Aber ich bin natürlich absolut kein Maßstab, und will es auch gar nicht sein
Für "normale" Variablen leg ich sie für gewöhnlich einfach funktionslokal auf den stack und brauch mich nicht weiter drum kümmern, wohl auch ne angewohnheit aus ein paar wochen in denen ich mich mal mit java-programmierung beschäftigt habe