Pointer auf CListCtrl
-
Hallo,
ich versuche bei einer Auswahl eines Elementes aus einem CTreeCtrl automatisch den aktuell ausgewählten Datensatz anzeigen zu lassen.
Ich weiß nicht, wie ich einen Zeiger auf das CListCtrl bekomme. Habe schon einige Zeit gelesen. Aber ich komm damit nicht wirklich weiter.
Dieser Pointer wird dann an die Funktion TabelleAnzeigen übergeben. Diese funktioniert, weil sie an einer anderen Stelle während der Initialisierung aufgerufen wird und das macht was sie machen soll.void CLeftView::OnClick(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen *pResult = 0; int i,n; HTREEITEM nodSelected; CString strSelected; HTREEITEM nodParent; CString strParent; CString filepath; string filename; // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Pointer auf ViewControl mit Namen ctrlList // Geht nicht ! // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Referenz auf TreeControl CTreeCtrl &ctrlTree = this->GetTreeCtrl(); //Ausgewählten Eintrag ermitteln nodSelected = ctrlTree.GetSelectedItem(); //Dateinamen auslesen strSelected = ctrlTree.GetItemText(nodSelected); strParent = "/"; for(i=0;strParent.IsEmpty()==0;i++) { if(i==0) { nodParent = ctrlTree.GetParentItem(nodSelected); strParent = ctrlTree.GetItemText(nodParent); filepath = strSelected; } else { nodParent = ctrlTree.GetParentItem(nodParent); strParent = ctrlTree.GetItemText(nodParent); if(strcmp(strParent,"IGBT")) n = 0; if(strcmp(strParent,"Kühlkörper")) n = 1; } filepath = strParent + "/" + filepath; } filepath = "./Projekt" + filepath; filename = filepath; Ausgabe View(filename.c_str()); View.Auslesen(n); View.TabelleAnzeigen(ctrlList,n); }
-
Normalerweise bautman die Views so, dass sie nichts voneinader wissen. Du kannst über UpdateAllViews die entsprechenden Informationen aus einem View an alle anderen Views verteilen.