Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по Visual C++ (MFC, платформа .NET)


Информационный Канал Subscribe.Ru

Уроки по Visual C++.NET. Рассылки сайта progs.biz
Рассылка № 74
 
Начало > Visual C++.NET > MFC > Урок 26

Горнаков С. DirectX 9. Уроки программирования на С++.
Горнаков С. DirectX 9. Уроки программирования на С++
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 26.

Visual C++.NET
Урок 26. Список на примере CPtrList

На этом занятии мы с вами посмотрим, как работать со списоком указателей CPtrList. Элементы такого списка - это указатели типа void*, это означает в частности, что в такой список мы можем добавлять элементы, имеющие тип любого указателя.

Создайте SDI приложение с поддержкой архитектуры Документ-Вид. Добавьте собственный класс CMyClass. В этом классе создайте, например, 2 открытых переменных типа int - m_Data1 и m_Data2. Именно указатели на экземпляры нашего класса CMyClass и будут добавляться к нашему списку. Этот список мы еще не создали. Сделаем это. Для сего объявите в классе документа переменную типа CPtrList:

CPtrList m_list;

Далее добавьте диалоговое окно, на котором разместите 2 edit'а. Создайте класс CAddDlg для диалогового окна, в котором создайте 2 переменных типа int - m_Data1 и m_Data2, связанные с edit'ами. Через это диалоговое окно мы будем добавлять данные в наш список m_list. Подробности по созданию такого окна смотрите в уроке 4.

Код для добавления очередного узла в список будет следующий (его, например, можно добавить в обработчик некоторого пункта меню):

  //Создание диалогового окна.
  CAddDlg d;
  //Показ диалогового окна.
  d.DoModal();
  //Создаем новый элемент для списка. 
  CMyClass *p = new CMyClass;
  p->m_Data1=d.m_Data1;
  p->m_Data2=d.m_Data2;
  //Добавляем новый элемент в список.
  m_list.AddTail(p);

Возможно, что для избавления от ошибок вам надо будет добавить некоторые include - но это мы и так умеем делать.

Как вы видите, добавление очередного узла в список довольно-таки простое - сначала мы создаем новый новый экземляр указателя на CMyClass, далее мы заполняем его данными, полученными от пользователя из диалогового окна. После чего используем метод AddTail класса CPtrList для добавления данных в конец списка. Вместо AddTail можно было использовать AddHead - для добавления узлов в начало списка.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2004 сайт progs.biz
© 2002-2004 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.lessonsfromai
Отписаться

В избранное