CListCtrl editieren mit VC++ (VisualStudio2005)

Gast #980686
Lesenswert?

Hey !

Ich will eine Liste mit zwei Spalten machen. (Visual Studio 2005 mit 
VC++) Das klappt auch schon. Alle Einträge sollen editierbar sein. Ich 
fülle die Liste mit Daten. Wenn ich jetzt die erste Spalte editiere 
belibt der Wert nicht bestehen und wird nach dem Editieren wieder 
zurückgesetzt. Ich habe jetzt folgende Nachrichtenroutine eingebaut:

void CTerminalDLG::OnLvnEndlabeleditList1(NMHDR *pNMHDR, LRESULT 
*pResult)
{
  NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
  // TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die 
Benachrichtigung ein.

  CString s;

  s=m_ListCtrl.GetItemText(m_index,0);   //m_index, Zeilenindex
  MessageBox(s);

  *pResult = 0;
}


Aber auch hier bekomme ich nur den alten Wert in der MessageBox 
angezeigt der vor dem Editieren in der Liste stand.


Vielleicht weiß ja jemand etwas was mir helfen kann.

MfG
Jörg
Persönliche Seite #980775
Lesenswert?

Den neuen Text bekommst Du in pDispInfo->item.pszText übergeben.

Sinn vonn't janze ist, daß Du, bevor das Control den eingegebenen Text 
übernimmt, den Text auf inhaltliche Richtigkeit überprüfen kannst.

Das Control übernimmt den geänderten Wert, wenn Du mit dem Rückgabewert 
(*pResult) mitteilst, daß Du den Wert akzeptiert hast.

Das geschieht mit

  *pResult = 1;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren