006
31.10.2006, 15:08 Uhr
LowFly
|
Zitat von Verfasser: |
ListView ist (glaub ich) die .NET-Version von ListControl
|
das wiederum glaube ich nicht. CEditView, CRecordView, CFormView, CHtmlView, CListView, CScrollView, CTreeView... Sind alles Classen die ausschließlich in SDI & MDI projecten verwendet werden. Und in einem project das du als Dialogfeld erstellt hast kann man keine CListView verwenden. bzw. können kannst du es. es führt nur zu keinem ergebniss.
anderstrum aus einem SDI o. MDI Project kann man ein Dialogfeld ausführen.
was mir bei deinen Zeigern & Memberbezeichnungen schräg einläuft (unverständlich) ist, du verweist aus einer CFormView auf eine CListView das kann nicht gehn. Wenn du in einer CFormView eine Liste haben willst so must du in der CFormView eine CListCtrl einfügen. Das machst du über den ResourcenEditor in dem Arbeitsbereich. Der Liste gibst du dann eine Membervariable. Wenn du dann aus einer anderen Classe etwas in die Liste einfügen willst geht das dann wie folgt.
Code: |
CFormView *pView = new CFormView(); pView->m_ListCtrl.SetItemText(...);
|
Eine andere Möglichkeit wäre anstatt der CFormView gleich eine CListView zu verwenden. dies würde dann so aussehn.
Code: |
CListView *pView = new CListView(); pView->SetItemText(...);
|
Zitat von Verfasser: |
Ich denke diese '->' sind relativ gängig, zumindest bei mir. Ich arbeite dauernd damit. Wenn die benutzt kommt ständig eine Liste mit Vorschlägen, was man nach dem Pfeil einsetzen kann.
|
Nur weil du ständig damit arbeitest heist das nicht das es so wie du es machst auch richtig ist. Das es nicht richtig ist solltest du an Form1->listView1->Items->Add o. this->PortName gemerkt haben denn dort funzt es ja nicht. Ferner wird dir die List mit Vorschlägen nicht nur bei einem Zeiger auf die Classe angezeigt, sondern auch mit dem Punkt (.). Siehe
Code: |
CString f,sText="Das Knallt"; f.Format("%s",sText); MessageBox(f);
|
Setz mal selbst hinter f nen Punkt & du wirst sehn die liste geht auf. Wird dir nach einer Membervariable. keine Liste angezeigt, ist die Classe von der aus du versuchst die Funktion o. Membervariable aufzurufen nicht bekannt. bzw. ist der MFC nicht ganz fehlerfrei. Meistens ist dann im Arbeitsbereich/Klassen die Classe nicht mehr aufgeführt. Abhilfe schaft da dann das öffnen der header (von der Classe die nicht mehr vorhanden ist unter Arbeitsbereich/Datein) etwas in der header ändern & wieder speichern. danach sollte die classe im Arbeitsbereich/Klassen wieder sichtbar sein. Somit ist dann auch die Liste wieder da. |