CListview



  • Ich habe das nun mit dem herausfinden der Markierung so gelöst, stammt aus der MSN..

    CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_LIST);
    	ASSERT(pListCtrl != NULL);
    
    	POSITION pos = pListCtrl->GetFirstSelectedItemPosition();
    	if (pos == NULL)
    	   MessageBox("No items were selected!\n");
    	else
    	{
    	  while (pos)
    	  {
    		 int nItem = pListCtrl->GetNextSelectedItem(pos);
    		 TRACE("Item %d was selected!\n", nItem);
    		 // you could do your own processing on nItem here
    	  }
    	}
    

    in leicht abgewandelter Form...

    Das mit dem ListControlbreite weiß ich leider (noch) nicht.
    Interessiert mich aber auch, so das ich morgen mal nachforschen werde.

    Hab aber noch eine andere Frage:
    Wie kann ich die Listview aktualisieren, weil am Anfang beim initialisieren lade ich eine Liste hinein, die auch angezeigt wird, aber wenn cih später Elemente hinzufüge sind die nicht zu sehen, erst nach einem neustart wenn die Liste neugeladen wird... 😕



  • Irgendwie hat man die besten Ideen nicht bei der Arbeit: Heute morgen im Bus hatte ich eine Idee und sie hat funktioniert:

    // Breite des Listcontrols holen
    	RECT rect;
    	m_lscOrte.GetWindowRect(&rect);
    	int nBreite = rect.right - rect.left - 4; // 4 damit es schöner aussieht.
    

    Blos wie man die 4 verallgemeinern kann, weiß ich nicht. Das gucke ich aber nochmal.


Anmelden zum Antworten