Проектирование Интерфейса Пользователя Средствами Win32 API [rus]
.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 |