Wieso krieg ich den hWnd NULL
-
Ich hab im Dialogeditor auf eine CFormView ein CListCtrl gesetzt. die Membervariable des Objektes hat aber den hWnd 0x0000000 sprich NULL. Muss ich noch irgendwas wie Create aufrufen, damit der nen entsprechenden hWnd bekommt oder sowas, eigentlich doch nicht ?!?
und mit NULL als hWnd kann ich keine Listeneinträge hinzufügen etc
Bin hier schon am verzweifeln, also hab ich von Hand ein CListCtrl hinzugefügt. Dies hat nen korrekten hWnd bekommen, nur die einträge, die ich mit InsertItem hinzugefügt hab, erscheinen nicht.
mfg
tie
-
Du kannst mit dem Control erst nach CFormView::OnInitialUpdate arbeiten.
Wenn das noch nicht gemacht wurde, kannst du KEIN Control auf dem Formview nutzen (ist wie beim Dialog).Erstell dir also die OnInitialUpdate Funktion für deinen View und schreib unter dem Aufruf der Basisklasse das hin, was jetzt nicht geht.

-
Ahhhhhhh, danke
ich hatte zwar eine OnInitialUpdate, aber darin wurde nicht die CFormView::OnInitialUpdate aufgerufen. Jetzt geht es.
-
Komisch, dass passiert so oft...

Muss an dem Reflex liegen, erstmal alles zu löschen, was der Assistent so erstellt.

-
nu klappt von der CListCtrl her auch alles, nur die Einträge sind nicht so wie ich das wünscht
und zwar so sieht das aus: http://home.arcor.de/ossionline/Clipboard01.gif
Die einzelnen Einträge sollen aber alle bündig sein. Ich dachte, wenn ich die Bezeichnung nach den Zahlen (also z.b. ADM4o) mit Leerzeichen auf 25 Zeichen jeweils aufstpcke, ist alles bündig - aber das klappt ja nur bei Schriftarten wie Courier New.
Also werd ich mit Tabstops arbeiten müssen, aber wie weiss ich wieviele Tabstops ich brauche, da die Namen mal "ab" oder auch "abcdefghijklmnop.." sein können. Gibt es da irgend nen Trick?
-
Hast du nur eine Spalte?

Normalerweise geht das automatisch und sieht so aus wie im Winexplorer auf der rechten Seite.
Und dann hast du auch eine Ausrichtung, nämlich die, die du beim Erstellen einer Spalte angibst.
Ansonsten kannst du mit einem DC und GetTextExtend (beim Namen bin ich mir nicht 100% sicher...) arbeiten. Der Funktion gibst du einen String und die sagt dir, wie groß der in der Anzeige ist. Dann den längsten suchen und du hast dein Maß...
Zeig doch mal, wo du das Listcontrol initialisierst und wo du es füllst.

-
thx, aber arbeite jetzt mit mehr als nur 1 spalte

hatte gestern abend erst gesehen, dass man das auch kann.
nu hat sich das ganze also erledigt
-
Hatte ich doch richtig geraten...

Schön, dass du es gefunden hast.
