Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Subitems in ListCtrl verändern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.06.2005, 13:48 Uhr
GuenniAtWork



Hi, hab mal wieder ein Problem mit ner Liste

Ich habe in meiner SDI-Anwendung eine Tabelle, in der der Benutzer Die Einträge nach belieben Editieren können soll. Doch ich weiß nicht wie man das macht.

Ich habe mein ListCtrl mit LVS_REPORT | LVS_EDITLABELS | LVS_SHOWSELALWAYS angelegt und 3 Columns definiert. Die Einträge unter den einzelnen Spalten sollen editierbar sein. Wie muß ich die Items erzeugen, das das auch Funktioniert?


C++:
BOOL CToDoView::PreCreateWindow(CREATESTRUCT& cs)
{
    // TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie
    //  CREATESTRUCT cs modifizieren.
    cs.style |= LVS_REPORT | LVS_EDITLABELS | LVS_SHOWSELALWAYS;
    return CListView::PreCreateWindow(cs);
}

void CToDoView::OnInitialUpdate()
{
    CListView::OnInitialUpdate();

    // TODO: Sie können Elemente in Ihre ListView eintragen, indem Sie direkt
    //  über einen Aufruf von GetListCtrl() auf ihre Listensteuerung zugreifen.

    //***ListControl holen und Extended Styles setzen
    CListCtrl& ToDoList = GetListCtrl();
    ToDoList.SetExtendedStyle(/*LVS_EX_CHECKBOXES  | LVS_EX_FULLROWSELECT | */
LVS_EX_GRIDLINES);

    //***Spaltenüberschriften definieren
    LVCOLUMN DateCol, TaskCol, MemoCol;
    DateCol.mask = LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
    DateCol.pszText = "Datum";
    DateCol.iSubItem = 0;
    DateCol.cx = 100;
    TaskCol.mask = LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
    TaskCol.pszText = "Aufgabe";
    TaskCol.iSubItem = 1;
    TaskCol.cx = 100;
    MemoCol.mask = LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
    MemoCol.pszText = "Bemerkung";
    MemoCol.iSubItem = 2 ;
    MemoCol.cx = 100;
    
    //***Spaltenüberschriften einfügen
    ToDoList.InsertColumn(0,&DateCol);
    ToDoList.InsertColumn(1,&TaskCol);
    ToDoList.InsertColumn(2,&MemoCol);

    //***Items Definieren
    LVITEM Item1, Item2;
    Item1.mask = LVIF_TEXT;
    Item1.iItem = 0;
    Item1.iSubItem = 0;
    Item1.pszText = "Item1";
    Item2.mask = LVIF_TEXT;
    Item2.iItem = 0;
    Item2.iSubItem = 1;
    Item2.pszText = "Item2";
    Item2.state = LVIS_SELECTED;

    //***Items einfügen
    ToDoList.InsertItem(&Item1);
    ToDoList.SetItem(&Item2);
}


--
Gruß GuenniAtWork

Dieser Post wurde am 29.06.2005 um 13:50 Uhr von GuenniAtWork editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.06.2005, 02:31 Uhr
mmc20
puss in boots


hi, das ist so nicht möglich, du musst dir eine eigene klasse bauen
schau mal bei CodeGuru oder CodeProject und such nach "CListCtrl InPlaceEdit", da findest bestimmt was passendes
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: