Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ганеев Р.М. Проектирование интерфейса пользователя средствами WIN 32 API

.pdf
Скачиваний:
70
Добавлен:
02.05.2014
Размер:
13.42 Mб
Скачать

Р.М.Ганеев

ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ СРЕДСТВАМИ 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