Ганеев Р.М. Проектирование интерфейса пользователя средствами WIN 32 API
.pdfР.М.Ганеев
ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ СРЕДСТВАМИ WIN32 API
Книга посвящена методическим основам проектирования пользовательского интерфейса средствами Win32 API. Основное внимание уделено динамическому проектированию и управлению базовыми элементами информационных систем - окнами, органами управления, меню и диалоговыми панелями.
Книга написана доступным языком, насыщена примерами программной реализации, все разделы сопровождаются вопросами контроля полученных знаний и вариантами упражнений. Она поможет читателю овладеть методикой проектирования эффективных приложений для Windows.
Для тех, кто знает основы языка Си и хочет проектировать компактные быстродействующие приложения.
Оглавление |
|
Предисловие |
3 |
Глава 1. Создание окон |
5 |
1.1. Определения |
5 |
1.2. Класс окон |
6 |
1.2.1. Описание используемых, классом окон ресурсов |
6 |
1.2.2. Пример регистрации класса окон |
8 |
1.2.3. Функция окна |
9 |
1.3. Создание окон |
12 |
1.4. Главная функция приложения |
14 |
1.5. Структура текста приложения |
17 |
1.6. Вспомогательные функции создания окон |
20 |
1.6.1. Функции поиска и определения состояния окон |
20 |
1.6.2. Функции перемещения окон |
21 |
1.6.3. Сообщения приложения для пользователя |
24 |
1.7. Примеры создания окон |
27 |
1.7.1. Проверка наличия предыдущего экземпляра |
28 |
1.7.2. Расположение окон черепицей |
31 |
Контрольные вопросы |
36 |
Упражнения |
36 |
Глава 2. Органы управления |
40 |
2.1. Кнопки |
41 |
2.1.1. Создание кнопок |
41 |
2.1.2. Кнопки и сообщения |
43 |
2.1.3. Флажки и переключатели |
49 |
2.2. Статический орган управления |
50 |
2.3. Полоса прокрутки |
50 |
2.3.1. Общие сведения |
50 |
2.3.2. Создание полосы прокрутки |
52 |
2.3.3. Простейшие полосы прокрутки |
52 |
2.3.4. Сообщения от полосы прокрутки |
55 |
2.3.5. Управление полосой прокрутки |
56 |
2.3.6. Пример обработки сообщений от полос прокрутки |
58 |
2.3.7. Новые функции управления полосами прокрутки |
63 |
2.3.8. Пример окна приложения с полосой просмотра |
64 |
2.4. Редактор текста |
68 |
2.4.1. Создание редактора |
68 |
2.4.2. Сообщения для редактора текста |
69 |
2.4.3. Сообщения от редактора текста |
70 |
2.4.4. Пример работы с однострочным редактором |
71 |
2.5. Списки строк |
74 |
2.5.1. Создание списка |
74 |
2.5.2. Сообщения от списка |
74 |
2.5.3. Сообщения для списка |
74 |
2.5.4. Пример работы со списком |
77 |
2.6. Комбинированный список |
80 |
2.6.1. Создание комбинированного списка |
80 |
2.6.2. Коды извещения |
80 |
2.6.3. Сообщения для комбинированного списка |
81 |
2.6.4. Пример работы с комбинированным списком |
82 |
Контрольные вопросы |
85 |
Упражнения |
86 |
Глава 3. Вывод в окно |
89 |
3.1. Сообщение WM_PAINT |
90 |
3.2. Виды контекста отображения |
95 |
3.3. Установка атрибутов контекста отображения |
105 |
3.4. Вывод текста |
112 |
3.4.1. Настройка параметров шрифта |
112 |
3.4.2. Выбор шрифта в контекст отображения |
115 |
3.4.3. Функции вывода текста |
116 |
3.4.4. Пример вывода текста в окно |
117 |
3.4.5. Определение метрик шрифта |
119 |
3.5. Рисование геометрических фигур |
129 |
3.5.1. Функции рисования точки |
129 |
3.5.2. Функции рисования линий |
130 |
3.5.3. Функции рисования замкнутых фигур |
139 |
Контрольные вопросы |
141 |
Упражнения |
142 |
Глава 4. Меню |
145 |
4.1. Элементы меню |
146 |
4.2. Создание меню |
148 |
4.2.1. Вставка элементов вменю |
149 |
4.2.2. Удаление элементов из меню |
155 |
4.2.3. Управление состоянием элементов меню |
159 |
4.2.4. Получение информации о меню |
167 |
4.3. Сообщения от меню |
170 |
4.3.1. Сообщение WM_INITMENU |
171 |
4.3.2. Сообщение WM_INITMENUPOPUP |
171 |
4.3.3. Сообщение WM_COMMAND |
171 |
4.3.4. Сообщение WM_MENUSELECT |
171 |
4.4. Плавающее меню |
172 |
4.5. Акселераторы |
176 |
Контрольные вопросы |
187 |
Упражнения |
188 |
Глава 5. Панель инструментов и строка состояния |
191 |
5.1. Панель инструментов |
191 |
5.1.1. Создание панели инструментов |
191 |
5.1.2. Управление состоянием кнопок панели |
201 |
5.1.3. Вывод подсказок в панели инструментов |
210 |
5.2. Строка состояния |
220 |
5.2.1. Создание строки состояния |
220 |
5.2.2. Сообщения о меню в строке состояния |
223 |
Контрольные вопросы |
232 |
Упражнения |
232 |
Глава 6. Диалоговые панели |
234 |
6.1. Характеристики диалоговых панелей |
234 |
6.1.1. Единицы диалоговой панели |
234 |
6.1.2. Стили диалоговой панели |
235 |
6.1.3. Функция окна диалоговой панели. |
237 |
6.2. Создание диалоговой панели |
238 |
6.2.1. Создание модальной диалоговой панели |
239 |
6.2.2. Создание немодальной диалоговой панели |
240 |
6.2.3. Шаблон диалоговой панели |
240 |
6.2.4. Пример немодальной диалоговой панели |
255 |
6.3. Сообщения и диалоговые панели |
260 |
6.4. Блокнот диалоговых панелей |
271 |
6.5. Стандартные диалоговые панели |
286 |
6.5.1. Панели для открытия или сохранения файлов |
286 |
6.5.2. Панель для выбора цветов |
296 |
6.5.3. Панель для выбора шрифта |
301 |
Контрольные вопросы |
309 |
Упражнения |
309 |
Приложение 1 |
313 |
Приложение 2 |
318 |
Приложение 3 |
327 |
Приложение 4 |
328 |