ListBox AddString,...funktioniert nicht
-
Hallo zusammen,
also WinXP Prof., MS Visual C++ 6.0
Ich habe einen Dialog, bei welchem ich beim Start eine darin befindliche ListBox mit Daten füllen will.
Also Funktion
OnCreate(LPCREATESTRUCT lpCreateStruct)
Als was muss ich meine ListBox-Variable deklarieren?
Value -> CString
oder
Control -> CListBox ???
Wenn ich dann in der OnCreate() folgendes einfüge, funktionierts nicht!!!m_Liste.AddString("Start");
Ach nur so nebenbei:
Wie kann ich denn dafür sorgen, dass die Dropdownlist nach einem "." oder "->" wieder automatisch erscheint?Vielen Dank für jede Hilfe
MfG Dippi
-
Dippi_81 schrieb:
Also Funktion
OnCreate(LPCREATESTRUCT lpCreateStruct)
Nein, das muss in OnInitDialog NACH dem Aufruf der Basisklasse.
Ach nur so nebenbei:
Wie kann ich denn dafür sorgen, dass die Dropdownlist nach einem "." oder "->" wieder automatisch erscheint?Hatten wir das nicht gerade gelöst? Oder war das weranders?
Na egal: VC zu, aps-Datei im Projektverzeichnis löschen, VC wieder auf - Tadaa.
-
Ja das mit der Aps hattest Du mir schon mal per email geschrieben...hilft aber nix...Aber das ist auch nicht so wichtig.
Ich habe für diesen Dialog keine OnInitDialog und kann Sie auch nicht mittels rechtsklick auf die Klasse->Add Virtual Function
hinzufügen, weil sie da nicht aufgelistet ist...
Soll ich sie dann manuell hinzufügen oder funktioniert das nicht?Danke
-
Versuch mal das im Header:
virtual BOOL OnInitDialog();
Im Cpp:
BOOL CDeinDlg::OnInitDialog() { CDialog::OnInitDialog(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben }
Das mit der APS muss nicht für immer helfen.
Manchmal ist aber auch das Problem, dass du vorher einen Fehler im Code hast. Sonst weiß ich nix - aber in der FAQ war was dazu, vielleicht hilfts ja.
-
was soll ich sagen....
wie immer Perfekt
Danke
-
Noch schnell eine Frage...
gibt es eine Möglichkeit, wenn man eine ListBox bereits als CString definiert hat, es in eine CListBox umzuwandeln.
Wenn ich die Variable lösche, und dann wieder eine neue erstelle(alles mit Class Wizard), dann bekomm ich eine Fehlermeldung.
Wenns da keine Lösung gibt, muss ich von vorne anfangenNaja mal schauen
Danke
-
Wenn du eine Meldung bekommst, dann poste sie hier doch mal - oft kann man dann besser helfen.
Momentan kann ich nur vermuten, dass die Variable nicht überall rausgelöscht wurde und du von Hand nacharbeiten musst.
Suchen und Ersetzen bzw Suche in Dateien ist da eine grosse Hilfe.
-
Dippi_81 schrieb:
Wenn ich die Variable lösche, und dann wieder eine neue erstelle(alles mit Class Wizard), dann bekomm ich eine Fehlermeldung.
Der Class Wizard kann auch nur die offensichtlichsten Vorkommen der Variable rauslöschen (sprich - die Deklaration und die Verwendung in der UpdateData()), alles andere mußt du von Hand an deine (neuen) Bedürfnisse anpassen.
(das geht sogar so weit, daß du von Hand die Methodendefinition löschen mußt, wenn du z.B. eine Nachrichtenbehandlung wieder löschen willst)