Проектирование интерфейса пользователя средствами Win32 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  | 
