LVN_ENDLABELEDIT + вставляем новую строку

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
juky88
Сообщения: 6
Зарегистрирован: 16 апр 2011, 20:31

LVN_ENDLABELEDIT уведомляет о конце редактирования. Только я не могу понять, какую запись он проверяет.
У меня такая проблемка:
Есть list control:

Код: Выделить всё

ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST2, &CMPDDlg::OnLvnEndlabeleditParamProb)

BOOL CMPDDlg::OnInitDialog()
{
...
lc_paramProb.InsertItem(LVIF_TEXT,0, _T(""),0,0,0,NULL);
...
}

void CMPDDlg::OnLvnEndlabeleditParamProb(NMHDR *pNMHDR, LRESULT *pResult)
{
	NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
	LVITEM item = pDispInfo->item;
	// пользователь отменил ввод
	if (item.pszText == NULL) {
		*pResult = 0; // "0" информирует систему о неуспешном вводе
		return;
	}
	if(lc_paramProb.GetItemText(lc_paramProb.GetItemCount()-1,0).Compare(_T("")) != 0){
		lc_paramProb.InsertItem(lc_paramProb.GetItemCount(),_T(""),0);
	} 
	*pResult = 1; // "1" информирует систему об успешном вводе
}
Новая строка вставляется после редактирования, что естественно, но мне надо, чтобы она вставлялась после ввода новой записи. Подскажите, пожалуйста, как это сделать?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Что значит после ввода новой записи? Можешь вообще кинуть скриншот того, что получилось и набросок того, чего хотелось бы получить в идеале? У меня есть стойкое предчувствие, что ты делаешь неестественные вещи и того, к чему ты в итоге хочешь прийти можно добиться куда более логичными и правильными методами.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
juky88
Сообщения: 6
Зарегистрирован: 16 апр 2011, 20:31

Вы абсолютно правы!! Два дня мучилась, пока изобретала велосипед, потом содрала готовый класс (наследованный от CListCtrl) и сделала с помощью него всё, что мне надо за 20 минут :confused: Зато сколько всего перечитала и нового узнала!!!
Тем не менее спасибо)
Ответить