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++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 

Шаг 898 - CListBox

898_1.gif (1079 b)

Класс CListBox обеспечивает функциональные возможности списка Windows. Список отображает список элементов, типа имен файла, которые пользователь может просматривать и выбирать.

В простом списке, пользователь может выбирать только один элемент. В списке с несвязным выбором, диапазон элементов может быть выбран. Когда пользователь выбирает элемент, он высвечен, и список посылает уведомительное сообщение родительскому окну.

Вы можете создавать список или из шаблона диалога или непосредственно в вашем коде. Чтобы создавать это непосредственно, создайте объект CListBox, затем вызовите Create функцию, чтобы создать список Windows. Чтобы использовать список в шаблоне диалога, объявите переменную списка в вашем классе диалогового окна, затем используйте DDX_CONTROL в вашей функции класса DoDataExchange диалогового окна, чтобы подключить поле с управлением. (ClassWizard делает это для Вас автоматически, когда Вы добавляете переменную управления к вашему классу диалогового окна)

Конструкция может быть процесс с одним шагом в классе, полученном из CListBox. Запишите конструктор для полученного класса, и вызовите Create изнутри конструктора.

Если Вы хотите обрабатывать уведомительные сообщения Windows, посланные списком родителю (обычно класс, полученный из CDialog), добавьте вход карты сообщения и функцию драйвера сообщения к родительскому классу для каждого сообщения.

Каждый вход карты сообщения берет следующую форму:

ON_Notification( id, memberFxn )

Где идентификатор ID управления списка, посылающего сообщение и memberFxn - имя родительской функции которая будет вызвана.

Функциональный прототип функции родителя следующий:

afx_msg void memberFxn( );

Следующее - список потенциальных входов карты сообщения и описания случаев, в которых они были бы посланы родителю:

  • ON_LBN_DBLCLK - Пользователь дважды щелкает строку в списке. Только список, который имеет LBS_NOTIFY стиль, пошлет это уведомительное сообщение.
  • ON_LBN_ERRSPACE - Список не может распределять достаточно памяти, чтобы встретить запрос.
  • ON_LBN_KILLFOCUS - Список теряет фокус ввода.
  • ON_LBN_SELCANCEL - Текущий выбор списка отменен. Это сообщение только послано, когда список имеет LBS_NOTIFY стиль.
  • ON_LBN_SELCHANGE - Выбор в списке собирается изменяться. Это сообщение не послано, если выбор изменен CListBox::SetCurSel функцией . Это сообщение применяется только к списку, который имеет LBS_NOTIFY стиль. LBN_SELCHANGE уведомительное сообщение послано для списка с несвязным выбором всякий раз, когда пользователь нажимает клавишу курсора, даже если выбор не изменяется.
  • ON_LBN_SETFOCUS - Список получает фокус ввода.
  • ON_WM_CHARTOITEM - Определенное пользователем окно списка не содержащие строк получает WM_CHAR сообщение.
  • ON_WM_VKEYTOITEM - Список с LBS_WANTKEYBOARDINPUT стилем получает WM_KEYDOWN сообщение.

Если Вы создаете объект CListBox внутри диалогового окна (через ресурс диалога), объект CListBox автоматически разрушен, когда пользователь закрывает диалоговое окно.

Если Вы создаете объект CListBox внутри окна, Вы можете быть должны уничтожить объект CListBox. Если Вы создаете объект CListBox на стеке, это разрушено автоматически. Если Вы создаете объект CListBox на "куче ", используя new функцию, Вы должны вызвать delete на объекте, чтобы уничтожить его когда пользователь закрывает родительское окно.

Если Вы распределяете любую память в объекте CListBox, перегрузите CListBox деструктор, чтобы распорядиться распределением.

#include <afxwin.h>

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





Дебетовая карта Home Credit [CPS] RU