- •МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ
- •КОНСПЕКТ ЛЕКЦІЙ
- •з дисципліни
- •ХАРКIВ 2014
- •Лекция №1: Введение
- •Первая программа
- •Лекция №2: Скелет оконной программы
- •Вступление
- •Лекция №3: Контекст устройства
- •Понятие контекста устройства
- •Объекты и атрибуты контекста устройства
- •Лекция 4: Мышь и таймер
- •Сообщения мыши
- •Захват мыши
- •Таймер
- •Программная реализация
- •Лекция 5: Клавиатура
- •Лекция 6: Дочерние окна
- •Класс кнопок
- •Флажки
- •Переключатели
- •Класс статических дочерних окон
- •Класс полос прокрутки
- •Класс редактирования
- •Класс окна списка
- •Лекция №7: Ресурсы
- •Способы хранения данных программы
- •Общие сведения о файле ресурсов
- •Создание иконок
- •Лекция №8: Ресурсы (меню)
- •Меню
- •MENUITEM SEPARATOR
- •Лекция №9: Ресурсы (быстрые клавиши)
- •Лекция №10: Многозадачность и многопоточность
- •Многопоточность
- •Программная реализация многозадачности
- •Критические разделы
- •Использование событий
- •К вопросу о переменных
- •Инициализация программы
- •Лекция №12: Динамически подключаемые библиотеки
- •Типы связывания
- •Лекция №13: Представление графической информации
- •Метафайлы
- •Лекция № 14: Обзор платформы .NET
- •Обзор платформы .NET
- •Общая схема архитектуры .NET
- •Основные черты MSIL
- •Понятие сборки
- •Манифест: описание сборки
- •Модели безопасности в .NET
- •Електронне навчальне видання
- •КОНСПЕКТ ЛЕКЦІЙ
- •Упорядник ВОЛК Максим Олександрович
Данные функции работают для списка с одним выбором. Для списка с множественным выбором нужно использовать сообщения LB_SETSEL, LB_GETSEL:
SendMessage(hwndList, LB_SETSEL, wParam, iIndex);
Данное сообщение изменяет состояние элемента списка с номером iIndex. Если параметр iIndex = -1, то действие распространяется на все элементы списка. Параметр wParam определяет будет ли элемент выбран (значение не равно 0) или у данного элемента выделение будет отменено (равен 0). Проверить выделен ли конкретный элемент списка или нет в данном случае можно с помощью:
int iSelect = SendMessage(hwndList, LB_GETSEL, iIndex, 0);
где iSelect не равно 0, если пункт выбран, и равно 0 – в противном случае. Окно списка посылает родительскому окну сообщения WM_COMMAND. lParam является описателем дочернего окна, младшее слово wParam определяет идентификатор дочернего окна, а в старшем слове содержится код
уведомления:
LBN_ERRSPASE показывает, что превышен объем памяти, выделенный
для списка; |
|
LBN_SELCHANGE |
изменен текущий выбор; |
LBN_DBCLK |
был двойной щелчок мыши на окне списка; |
LBN_SELCANSEL |
отмена выделения; |
LBN_SELFOCUS окно списка получило фокус ввода; |
|
LBN_KILLFOCUS |
окно списка потеряло фокус. |
Лекция №7: Ресурсы
Способы хранения данных программы
Программе, во время ее работы, требуются данные. Определение программы как некоторого реализованного алгоритма обработки данных имеет под собой основу: любой оператор языка программирования требует для своей работы данные: условие требует вычисления некоторого логического или арифметического выражения, функция рисования линии требует наличия информации о координатах и цвете линии и т.д. В некоторых случаях эти необходимые данные могут иметь сложную структуру и большой объем (например, рисунки, карты местности, справочник телефонов города и т.п.).
Для хранения данных программы и организации доступа к ним можно использовать разные механизмы. Приведем примеры некоторых из них:
43
