- •Порядок обработки сообщений, цикл обработки сообщений
- •Атрибуты контекста.
- •Порядок обработки сообщений, цикл обработки сообщений
- •Аппаратные сообщения
- •Символьные сообщения
- •Дочерние окна
- •Класс полос прокрутки
- •Класс редактирования
- •25 Класс окна списка
- •Способы хранения данных программы
- •Общие сведения о файле ресурсов
- •Меню и сообщения
- •Многозадачность и многопоточность
- •Вытесняющая многозадачность
- •Использование функции Sleep
- •36 Критические разделы
- •37 Использование событий
- •38 Многооконный интерфейс. Элементы mdi. Windows и mdi
- •39 Динамически подключаемые библиотеки. Типы связывания
Общие сведения о файле ресурсов
В большинство программ для Windows включаются пользовательские значки, которые Windows выводит на экран в левом верхнем углу строки заголовка окна приложения. Кроме этого Windows выводит на экран значок программы в списках программ меню Start, или в панели задач в нижней части экрана, или в списке программы Windows Explorer. Некоторые программы — наиболее известными из которых являются графические программы для рисования, например Windows Paint , используют собственные курсоры мыши для отражения различных действий программы. В очень многих программах для Windows используются окна меню и диалога. Вместе с полосами прокрутки окна меню и диалога — это основа стандартного пользовательского интерфейса Windows .
Когда Windows загружает в память код и данные программы для ее выполнения, она обычно оставляет ресурсы на диске. Только тогда, когда Windows нужен конкретный ресурс, она загружает его в память
Создание иконок
Программу-инструмент, которую вы используете для создания значков, курсоров и битовых образов часто называют редактором изображений ( image editor ), и он является одной из наиболее важных утилит разработчика в любой интегрированной среде разработки программ для Windows . Как значки, так и курсоры являются разновидностью битовых образов.
Битовый образ ( bitmap ) — это битовый массив, где один или более битов соответствуют каждому пикселю экрана. В монохромном битовом образе для каждого пикселя требуется один бит.
Меню. Структура меню
Меню — это, вероятно, наиболее важная часть пользовательского интерфейса, который предлагают программы для Windows , а добавление меню к вашей программе — это относительно простая задача программирования для Windows . Вы просто определяете структуру меню в вашем описании ресурсов и присваиваете каждому пункту меню уникальный идентификатор
Если вы создаете или изменяете меню программы, полезно разделять главное меню и все всплывающие меню. У главного меню имеется описатель меню, у каждого всплывающего меню внутри главного меню имеется собственный описатель меню, и у системного меню (тоже являющегося всплывающим меню) тоже имеется описатель меню.
Каждый пункт меню определяется тремя характеристиками. Первая характеристика определяет то, что будет отображено в меню. Это либо строка текста, либо битовый образ. Вторая характеристика определяет либо идентификатор, который Windows посылает вашей программе в сообщении WM _ COMMAND , либо всплывающее меню, которое Windows выводит на экран, когда пользователь выбирает данный пункт меню. Третья характеристика описывает атрибут пункта меню, включая то, является ли данный пункт запрещенным, недоступным или помеченным.
Меню и сообщения
Когда пользователь выбирает пункт меню, Windows посылает оконной процедуре несколько различных сообщений. Большинство из этих сообщений могут игнорироваться программой, и просто передаваться DefWindowProc . Одним из таких сообщений является сообщение WM _ INITMENU которое имеет следующие параметры:
wParam – описатель главного меню, lParam – 0.
Значением параметра wParam является описатель главного меню, даже если пользователь выбирает пункт системного меню. В программах для Windows сообщение WM _ INITMENU обычно игнорируется. Это сообщение существует для того, чтобы дать вам возможность изменить меню или выполнить другое действие перед тем, как будет выбран пункт меню.
Кроме того, программа получает сообщения WM _ MENUSELECT . Если пользователь перемещает курсор мыши по пунктам меню, программа может получить множество сообщений WM _ MENUSELECT . Это полезно при использовании строки состояния, содержащей полное описание опции меню
