Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 104


Мы разобрали вопросы о создании окна сообщений и о работе кнопок. Теперь я расскажу о таком мощном элементе, как окно списка. Наверное, это наиболее часто используемый элемент управления (не считая, ко­нечно, кнопок), а возможности, которые список предоставляет програм­мисту, иногда просто поражают. И это без учета комбинированных списков, всевозможных производных типа окон просмотра деревьев и т.д.

СПИСКИ

Окно списка - это совокупность строк и/или картинок, которые ото­бражаются в скроллируемом окне. Список позволяет добавить элемент в список, удалить элемент из списка, найти элемент, получить общее число элементов и т. д. Образно говоря, список - это некое уменьшенное подо­бие базы данных, позволяющее выполнять большинство стандартных функций по управлению базой данных.

Все списки делятся на две большие группы. В первую группу вхо­дят списки, которые позволяют выбрать только один элемент из всех имеющихся. Вторую группу составляют списки, позволяющие вы­брать одновременно несколько элементов, удовлетворяющих опреде­ленному критерию.

У списков есть еще одно очень важное свойство. С каждым элементом списка мы можем связать некоторый объект в памяти. Другими словами, то, что мы видим в списке на экране, может быть только вершиной айсберга. Сам айсберг, сиречь информация, связанная с элементом, может храниться глубоко в недрах Win32. Список не может быть очень большим (список, как и любая динамическая структура данных, хранится в памяти), но он может быть весьма удобным инструментом для создания и хранения небольших объемов данных. Кстати, для хранения данных можно создать окно списка, но на отображение его не выводить. В памя­ти будет создана динамическая структура, с которой удобно работать.

Список может быть создан вместе с диалоговым окном в качестве ре­сурса, а также посредством использования функции CreateWindow(). В последнем случае в качестве имени класса необходимо указывать «LISTBOX». В подавляющем большинстве случаев списки создаются в ресурсах, поэтому мы остановимся именно на этом способе. При работе в редакторе ресурсов ничего сложного в создании списка нет. Некоторые




Начало  Назад  Вперед



Книжный магазин