C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 278 - Класс CListBox, текст выбранного элемента GetItemDataPtr() / MFC шаг за шагом / Visual C++

Шаг 278 - Класс CListBox, текст выбранного элемента GetItemDataPtr()

Пора бы уже научиться получать данные из нашего списка. Сделаем в прошлом проекте пункт меню GETITEM и к нему обработчик выбора с помощью ClassWizard:

void CTestListDlg::OnTestGetitem() 
{

}

Мы с Вами не сможем получить текст с помощью функции GetText(), посмотрите сами. Поэтому мы в коде по вызову меню вызовем свою функцию из нашего класса CTestList. Вот так, проверив, что выбор сделан.

void CTestListDlg::OnTestGetitem() 
{
	int i;
	i=m_List.GetCurSel();
	if (i!=LB_ERR) AfxMessageBox(m_List.GetSelectedString());
	else AfxMessageBox("Selected item");
}

Давайте посмотрим, что внутри этой нашей функции GetSelectedString():

CString CTestList::GetSelectedString()
{
	LPSTR lp=(LPSTR)GetItemDataPtr(GetCurSel());
	return lp;
}

Идея простая мы можем получить указатель на наши данные с помощью функции GetItemDataPtr().

void* GetItemDataPtr
(
	int nIndex  // индекс элемента
) const;

Она возвращает указатель на данные по индексу, если произойдет ошибка, то вернет -1.


| |
Автор Каев Артем.
[AD]