Visual C++ 2008. Базовый курс
Айвор Хортон
Книга опытного специалиста в области разработки приложений в среде Visual C++ 2008 предлагает исключительно полное введение как оба стандарта языка программирования C++, так и в особенности их реализации в Visual C++ 2008.
Немало внимания уделяется разработке визуальных интерфейсов Windows-приложений, использованию библиотек MFC и STL, написанию библиотек DLL, взаимодействию с базами данных и программированию с применением Windows Forms.
Из книги вы узнаете:
- как использовать библиотеку Standard Template Library - мощный и расширяемый набор инструментальных средств для организации и манипулирования данными в программах на C++;
- технологии нахождения ошибок в разрабатываемых программах на C++;
- способы структуризации приложений Microsoft Windows и наиболее важные элементы, применяемые в приложениях;
- как создавать и использовать общие элементы управления при построении графических интерфейсов для приложений;
- способы разработки собственных библиотек с применением MFC;
- как использовать и настраивать разнообразные элементы управления, предназначенные для доступа к источникам данных.
Книга рассчитана на начинающих программистов, а также будет полезной для студентов и преподавателей дисциплин, связанных с программированием и разработкой в среде Visual C++.
Издательство: Диалектика, Вильямс, 2009 г.
ISBN 978-5-8459-1514-6, 978-0-470-22590-5
Количество страниц: 1280.
Содержание книги «Visual C++ 2008. Базовый курс»:
- 21 Об авторе
- 21 Благодарности
- 22 Введение
- 22 Для кого предназначена эта книга
- 23 О чем эта книга
- 23 Как построена эта книга
- 25 Что необходимо для работы с этой книгой
- 26 Использование классической темы Windows Classic
- 29 Соглашения
- 30 Исходные коды
- 30 От издательства
- 31 Глава 1. Программирование в Visual C++ 2008
- 32 Среда .NET Framework
- 32 Общеязыковая исполняющая среда (CLR)
- 33 Написание приложений на C++
- 35 Изучение программирования для Windows
- 35 Изучение C++
- 35 Стандарты C++
- 36 Атрибуты
- 36 Консольные приложения
- 37 Концепции программирования для Windows
- 39 Что такое интегрированная среда разработки?
- 39 Компоненты системы
- 40 Использование IDE
- 41 Опции панели инструментов
- 42 Стыкуемые панели инструментов
- 43 Документация
- 43 Проекты и решения
- 56 Настройка опций Visual C++ 2008
- 56 Создание и выполнение Windows-приложений
- 59 Создание приложения Windows Forms
- 62 Резюме
- 63 Глава 2. Данные, переменные и вычисления
- 63 Структура программы C++
- 71 Функция main()
- 71 Операторы программы
- 73 Пробелы
- 74 Блоки операторов
- 74 Автоматически сгенерированные консольные программы
- 75 Определение переменных
- 76 Именование переменных
- 77 Объявление переменных
- 78 Начальные значения переменных
- 78 Фундаментальные типы данных
- 79 Целочисленные переменные
- 80 Символьные типы данных
- 81 Модификаторы целочисленных типов
- 82 Булевский тип
- 82 Типы с плавающей точкой
- 84 Литералы
- 84 Определение синонимов для типов данных
- 85 Переменные с определенным набором значений
- 86 Базовые операции ввода-вывода
- 86 Ввод с клавиатуры
- 87 Вывод в командную строку
- 88 Форматирование вывода
- 89 Управляющие последовательности
- 91 Вычисления в C++
- 91 Оператор присваивания
- 92 Арифметические операции
- 97 Вычисление остатка
- 97 Модификация переменной
- 98 Операции инкремента и декремента
- 100 Последовательность вычислений
- 101 Типы переменных и приведения
- 102 Правила приведения операндов
- 103 Приведения в операторах присваивания
- 103 Явные приведения
- 104 Приведения в старом стиле
- 105 Битовые операции
- 111 Время хранения и область видимости
- 111 Автоматические переменные
- 113 Размещение объявлений переменных
- 114 Глобальные переменные
- 117 Статические переменные
- 117 Пространства имен
- 119 Объявление пространства имен
- 120 Множественные пространства имен
- 121 Программирование на C++/CLI
- 122 Специфика C++/CLI: фундаментальные типы данных
- 126 Вывод командной строки C++/CLI
- 126 Специфика C++/CLI — форматирование вывода
- 129 Клавиатурный ввод в C++/CLI
- 130 Применение safe_cast
- 131 Перечисления C++/CLI
- 135 Резюме
- 137 Упражнения
- 63 Структура программы C++
- 139 Глава 3. Принятие решений и циклы
- 139 Сравнение значений
- 141 Оператор if
- 142 Вложенные операторы if
- 144 Расширенный оператор if
- 146 Вложенные операторы if-else
- 147 Логические операции и выражения
- 150 Условная операция
- 151 Оператор switch
- 154 Безусловное ветвление
- 155 Повторение блока операторов
- 155 Что такое цикл?
- 158 Вариации цикла for
- 165 Цикл while
- 167 Цикл do-while
- 168 Вложенные циклы
- 171 Программирование на C++/CLI
- 174 Цикл for each
- 176 Резюме
- 177 Упражнения
- 139 Сравнение значений
- 179 Глава 4. Массивы, строки и указатели
- 180 Обработка множества однотипных элементов данных
- 180 Массивы
- 181 Объявление массивов
- 184 Инициализация массивов
- 186 Символьные массивы и обработка строк
- 189 Многомерные массивы
- 192 Косвенный доступ к данным
- 192 Что такое указатель?
- 192 Объявление указателей
- 194 Использование указателей
- 196 Инициализация указателей
- 201 Операция sizeof
- 202 Константные указатели и указатели на константы
- 204 Указатели и массивы
- 210 Динамическое выделение памяти
- 211 Свободное хранилище, псевдоним «куча»
- 211 Операции new и delete
- 212 Динамическое распределение памяти для массивов
- 215 Динамическое распределение многомерных массивов
- 215 Использование ссылок
- 216 Что такое ссылка?
- 216 Объявление и инициализация ссылок
- 216 Функции работы со строками из библиотеки «родного» C++
- 217 Нахождение длины строки, ограниченной нулевым символом
- 217 Объединение строк, ограниченных нулевым символом
- 219 Копирование строк, ограниченных нулевым символом
- 220 Сравнение строк, ограниченных нулевым символом
- 220 Поиск в строках, ограниченных нулевым символом
- 222 Программирование на C++/CLI
- 223 Отслеживаемые дескрипторы
- 224 Массивы CLR
- 238 Строки
- 247 Отслеживающие ссылки
- 247 Внутренние указатели
- 250 Резюме
- 251 Упражнения
- 180 Обработка множества однотипных элементов данных
- 253 Глава 5. Структурная организация программ
- 254 Что такое функции
- 255 Зачем нужны функции?
- 255 Структура функции
- 257 Использование функций
- 261 Передача аргументов в функцию
- 261 Механизм передачи по значению
- 263 Указатели как аргументы функций
- 264 Передача массивов в функцию
- 268 Ссылки как аргументы функции
- 270 Использование модификатора const
- 271 Аргументы main()
- 273 Прием функцией переменного количества аргументов
- 274 Возврат значений функциями
- 275 Возврат указателя
- 277 Возврат ссылки
- 280 Статические переменные в функциях
- 282 Рекурсивные вызовы функции
- 284 Использование рекурсии
- 285 Программирование на C++/CLI
- 285 Функции, принимающие переменное количество аргументов
- 286 Аргументы main()
- 287 Резюме
- 288 Упражнения
- 254 Что такое функции
- 289 Глава 6. Дополнительные сведения о структурах программ
- 289 Указатели на функции
- 290 Объявление указателей на функции
- 292 Указатель на функцию как аргумент
- 294 Массивы указателей на функции
- 295 Инициализация параметров функций
- 296 Исключения
- 298 Генерация исключений
- 299 Перехват исключений
- 300 Обработка исключений в MFC
- 301 Обработка ошибок выделения памяти
- 302 Перегрузка функций
- 303 Что такое перегрузка функций?
- 305 Когда нужно перегружать функции
- 305 Шаблоны функций
- 305 Использование шаблона функции
- 308 Пример использования функций
- 308 Реализация калькулятора
- 311 Удаление пробелов из строки
- 311 Вычисление выражения
- 314 Получение значения элемента
- 315 Анализ числа
- 318 Собираем программу вместе
- 319 Расширение программы
- 320 Извлечение подстроки
- 323 Запуск модифицированной программы
- 323 Программирование на C++/CLI
- 324 Что такое обобщенные функции
- 330 Программа калькулятора для CLR
- 335 Резюме
- 336 Упражнения
- 289 Указатели на функции
- 337 Глава 7. Определение собственных типов данных
- 338 Структуры в C++
- 338 Что такое структура?
- 338 Определение структуры
- 339 Инициализация структуры
- 339 Доступ к членам структуры
- 343 Поддержка средства Intellisense при работе со структурами
- 344 Структура RECT
- 344 Использование указателей со структурами
- 346 Типы данных, объекты, классы и экземпляры
- 348 Первый класс
- 348 Операции с классами
- 348 Терминология
- 349 Что такое класс?
- 350 Определение класса
- 350 Определение объектов класса
- 351 Доступ к данным-членам класса
- 353 Функции-члены класса
- 354 Расположение определения функции-члена
- 355 Встроенные функции
- 356 Конструкторы классов
- 356 Что такое конструктор?
- 358 Конструктор по умолчанию
- 360 Присваивание параметрам в классе значений по умолчанию
- 362 Использование списка инициализации в конструкторе
- 362 Приватные члены класса
- 365 Доступ к приватным членам класса
- 366 Дружественные функции класса
- 368 Конструктор копирования по умолчанию
- 369 Указатель this
- 372 const-объекты класса
- 372 const-функция-член класса
- 373 Определения функций-членов вне класса
- 374 Массивы объектов класса
- 375 Статические члены класса
- 376 Статические данные-члены класса
- 378 Статические функции-члены класса
- 379 Указатели и ссылки на объекты классов
- 379 Указатели на объекты класса
- 381 Ссылки на объекты класса
- 383 Программирование на C++/CLI
- 384 Определение типов классов значений
- 389 Определение типов ссылочных классов
- 391 Определение конструктора копирования для типа ссылочного класса
- 391 Свойства классов
- 403 Поля initonly
- 404 Статические конструкторы
- 405 Резюме
- 406 Упражнения
- 338 Структуры в C++
- 409 Глава 8. Дополнительные сведения о классах
- 409 Деструкторы классов
- 410 Что такое деструктор?
- 410 Деструктор по умолчанию
- 412 Деструкторы и динамическое распределение памяти
- 415 Реализация конструктора копирования
- 417 Разделение памяти между переменными
- 417 Определение объединений
- 419 Объединения в классах и структурах
- 419 Перегрузка операций
- 420 Реализация перегруженной операции
- 423 Реализация полной поддержки операции
- 426 Перегрузка операции присваивания
- 431 Перегрузка операции сложения
- 434 Перегрузка операций инкремента и декремента
- 435 Шаблоны классов
- 435 Определение шаблона класса
- 439 Создание объектов из шаблона класса
- 441 Шаблоны классов с множественными параметрами
- 443 Использование классов
- 443 Понятие интерфейса класса
- 443 Определение проблемы
- 444 Реализация класса CBox
- 451 Определение класса CBox
- 461 Использование класса CBox
- 463 Организация кода программы
- 465 Именование программных файлов
- 465 Классы работы со строками из «родной» библиотеки C++
- 466 Создание объектов строк
- 467 Конкатенация строк
- 470 Обращение к строкам и их модификация
- 474 Сравнение строк
- 477 Поиск в строках
- 485 Программирование на C++/CLI
- 486 Перегрузка операций в классах значений
- 491 Перегрузка операций инкремента и декремента
- 491 Перегрузка операций в ссылочных классах
- 494 Реализация операции присваивания для ссылочных типов
- 494 Резюме
- 496 Упражнения
- 409 Деструкторы классов
- 497 Глава 9. Наследование классов и виртуальные функции
- 497 Базовые идеи объектно-ориентированного программирования
- 499 Наследование в классах
- 499 Что такое базовый класс?
- 500 Наследование классов от базового класса
- 503 Управление доступом при наследовании
- 506 Работа конструктора в производном классе
- 509 Объявление членов класса как protected
- 511 Уровень доступа унаследованных членов класса
- 513 Конструктор копирования в производном классе
- 517 Члены класса как друзья
- 518 Дружественные классы
- 518 Ограничения отношения дружественности классов
- 519 Виртуальные функции
- 521 Что такое виртуальная функция?
- 523 Использование указателей на объекты классов
- 525 Использование ссылок с виртуальными функциями
- 526 Чистые виртуальные функции
- 527 Абстрактные классы
- 530 Непрямые базовые классы
- 532 Виртуальные деструкторы
- 536 Приведение между типами классов
- 537 Вложенные классы
- 539 Программирование на C++/CLI
- 540 Упаковка и распаковка
- 540 Наследование классов в C++/CLI
- 546 Интерфейсные классы
- 547 Определение интерфейсных классов
- 550 Классы и сборки
- 555 Функции, специфицированные как new
- 555 Делегаты и события
- 566 Деструкторы и финализаторы в ссылочных классах
- 568 Обобщенные классы
- 578 Резюме
- 579 Упражнения
- 583 Глава 10. Стандартная библиотека шаблонов
- 583 Что такое стандартная библиотека шаблонов?
- 584 Контейнеры
- 585 Адаптеры контейнеров
- 586 Итераторы
- 587 Алгоритмы
- 587 Функциональные объекты
- 588 Функциональные адаптеры
- 588 Диапазон контейнеров STL
- 589 Последовательные контейнеры
- 590 Создание контейнеров vector
- 593 Емкость и размер контейнера vector
- 597 Обращение к элементам в векторе
- 598 Вставка и удаление элементов в векторе
- 600 Сохранение в векторе объектов класса
- 604 Сортировка элементов вектора
- 605 Хранение указателей в векторе
- 606 Контейнеры — двунаправленные очереди
- 610 Использование контейнеров List
- 619 Использование других последовательных контейнеров
- 629 Ассоциативные контейнеры
- 629 Использование контейнеров-карт
- 641 Дополнительные сведения об итераторах
- 641 Использование итераторов входного потока
- 645 Использование вставляющих итераторов
- 646 Использование итераторов выходного потока
- 648 Дополнительные сведения о функциональных объектах
- 649 Дополнительные сведения об алгоритмах
- 649 fill()
- 650 replace()
- 650 find()
- 651 transform()
- 652 STL для программ C++/CLI
- 652 Контейнеры STL/CLR
- 653 Использование последовательных контейнеров
- 657 Описание полученных результатов
- 659 Использование ассоциативных контейнеров
- 665 Резюме
- 666 Упражнения
- 583 Что такое стандартная библиотека шаблонов?
- 667 Глава 11. Приемы отладки
- 667 Понятие отладки
- 669 Программные ошибки
- 670 Распространенные ошибки
- 671 Базовые операции отладки
- 673 Установка точек останова
- 674 Установка точек трассировки
- 675 Запуск отладки
- 679 Изменение значения переменной
- 680 Добавление отладочного кода
- 680 Использование утверждений
- 681 Добавление собственного отладочного кода
- 686 Отладка программы
- 687 Стек вызовов
- 688 Переход к ошибке
- 691 Тестирование расширенного класса
- 693 Поиск следующей ошибки
- 694 Отладка динамической памяти
- 694 Функции проверки свободного хранилища
- 696 Управление отладочными операциями свободного хранилища
- 697 Отладочный вывод свободного хранилища
- 702 Отладка программ C++/CLI
- 703 Использование классов Debug и Trace
- 711 Получение вывода трассировки в приложениях Windows Forms
- 711 Резюме
- 667 Понятие отладки
- 713 Глава 12. Концепции программирования для Windows
- 714 Основы программирования для Windows
- 715 Элементы окна
- 716 Windows-программы и операционная система
- 717 Программирование, управляемое событиями
- 717 Сообщения Windows
- 717 Windows API
- 718 Типы данных Windows
- 719 Нотация программ Windows
- 720 Структура Windows-программы
- 720 Функция WinMain()
- 732 Функции обработки сообщений
- 737 Простая программа Windows
- 738 Организация Windows-программ
- 739 Библиотека Microsoft Foundation Classes
- 739 Нотация MFC
- 740 Структуризация программы MFC
- 743 Использование Windows Forms
- 746 Резюме
- 714 Основы программирования для Windows
- 747 Глава 13. Программирование для Windows с использованием MFC
- 748 Концепция «документ-представление» в MFC
- 748 Что такое документ?
- 748 Документные интерфейсы
- 749 Что такое представление?
- 750 Связь документа с его представлениями
- 751 Ваше приложение и MFC
- 752 Создание приложений MFC
- 754 Создание SDI-приложения
- 758 Вывод мастера MFC Application Wizard
- 767 Создание MDI-приложения
- 769 Резюме
- 770 Упражнения
- 748 Концепция «документ-представление» в MFC
- 771 Глава 14. Работа с меню и панелями инструментов
- 771 Взаимодействие с Windows
- 772 Что такое карты сообщений?
- 775 Категории сообщений
- 776 Обработка сообщений в ваших программах
- 777 Расширение программы Sketcher
- 777 Элементы меню
- 778 Создание и редактирование ресурсов меню
- 781 Добавление обработчиков сообщений меню
- 782 Выбор класса для обработки сообщений меню
- 783 Создание функций сообщений меню
- 785 Кодирование функций сообщений меню
- 789 Добавление обработчиков сообщений для обновления пользовательского интерфейса
- 792 Добавление кнопок панели инструментов
- 793 Редактирование свойств кнопки панели инструментов
- 794 Испытание кнопок панели инструментов
- 795 Добавление всплывающих подсказок
- 795 Меню и панели инструментов в программах C++/CLI
- 796 Технология Windows Forms
- 797 Приложения Windows Forms
- 800 Добавление меню в CLR-версию программы Sketcher
- 803 Добавление обработчиков событий для пунктов меню
- 804 Реализация обработчиков событий
- 805 Установка отметок напротив соответствующих пунктов меню
- 806 Добавление панели инструментов
- 809 Резюме
- 811 Упражнения
- 771 Взаимодействие с Windows
- 813 Глава 15. Рисование в окне
- 813 Основы рисования в окне
- 814 Клиентская область окна
- 815 Интерфейс графических устройств Windows
- 817 Механизм рисования в Visual C++
- 818 Класс представления в вашем приложении
- 819 Класс CDC
- 826 Практика рисования графики
- 829 Программирование для мыши
- 829 Сообщения от мыши
- 831 Обработчики сообщений мыши
- 832 Рисование с помощью мыши
- 856 Испытание программы Sketcher
- 856 Запуск примера
- 857 Захват сообщений мыши
- 858 Рисование с помощью CLR
- 859 Рисование в форме
- 859 Добавление обработчиков событий мыши
- 861 Определение классов элементов C++/CLI
- 868 Реализация обработчика событий MouseMove
- 869 Реализация обработчика событий MouseUp
- 869 Реализация обработчика событий Paint для формы
- 870 Резюме
- 871 Упражнения
- 813 Основы рисования в окне
- 873 Глава 16. Создание документа и усовершенствование представления
- 874 Классы коллекций MFC
- 874 Типы коллекций
- 875 Безопасные к типам классы коллекций
- 875 Коллекции объектов
- 885 Типизированные коллекции указателей
- 887 Использование шаблонного класса CList
- 888 Рисование кривой
- 889 Определение класса CCurve
- 891 Реализация класса CCurve
- 892 Испытание класса CCurve
- 893 Создание документа
- 893 Использование шаблона CTypedPtrList
- 898 Усовершенствование представления
- 898 Обновление множественных представлений
- 900 Прокрутка представлений
- 905 Использование режима отображения MM_LOENGLISH
- 906 Удаление и перемещение фигур
- 907 Реализация контекстного меню
- 909 Ассоциирование меню с классом
- 910 Выбор контекстного меню
- 915 Подсветка элементов
- 919 Обработка сообщений меню
- 926 Работа с маскированными элементами
- 927 Расширение CLRSketcher
- 927 Трансформации системы координат
- 929 Определение кривой
- 932 Определение класса Sketch
- 933 Рисование эскиза в обработчике событий Paint
- 934 Реализация механизма подсветки элементов
- 938 Создание контекстных меню
- 944 Резюме
- 946 Упражнения
- 874 Классы коллекций MFC
- 947 Глава 17. Работа с диалогами и элементами управления
- 947 Понятие диалогов
- 948 Что такое элементы управления?
- 950 Общие элементы управления
- 950 Создание ресурса диалога
- 951 Добавление элементов управления в диалоговое окно
- 953 Программирование для диалога
- 953 Добавление класса диалога
- 954 Модальные и немодальные диалоги
- 954 Отображение диалога
- 957 Поддержка диалоговых элементов управления
- 957 Инициализация элементов управления
- 959 Обработка сообщений переключателей
- 960 Завершение операций диалога
- 960 Добавление ширины пера к документу
- 961 Добавление ширины пера к элементам
- 962 Создание элементов в представлении
- 962 Испытание диалога
- 963 Использование кнопки счетчика
- 963 Добавление пункта меню и кнопки панели инструментов для функции масштабирования
- 964 Создание кнопки счетчика
- 966 Генерация класса диалога масштабирования
- 969 Отображение кнопки счетчика
- 970 Использование показателя масштаба
- 970 Масштабируемые режимы отображения
- 971 Установка размера документа
- 972 Установка режима отображения
- 973 Реализация прокрутки с масштабированием
- 975 Работа с панелями состояния
- 976 Добавление панели состояния в обрамляющее окно
- 980 Использование окна списка
- 980 Удаление диалога масштаба
- 980 Создание элемента управления — окна списка
- 983 Использование элемента управления — поля редактирования
- 983 Создание ресурса поля редактирования
- 984 Создание класса диалога
- 986 Добавление пункта меню Text
- 987 Определение текстового элемента
- 988 Реализация класса CText
- 989 Создание текстового элемента
- 990 Диалоговые окна и элементы управления в CLR-версии программы Sketcher
- 991 Добавление диалогового окна
- 998 Создание текстовых элементов
- 1005 Резюме
- 1006 Упражнения
- 1007 Глава 18. Сохранение и печать документов
- 1007 Что такое сериализация?
- 1008 Сериализация документа
- 1008 Сериализация в определении класса документа
- 1009 Сериализация в реализации класса документа
- 1012 Функциональность классов, базирующихся на CObject
- 1013 Как работает сериализация
- 1014 Как реализовать сериализацию для класса
- 1014 Применение сериализации
- 1014 Запись изменений в документе
- 1016 Сериализация документа
- 1017 Сериализация классов элементов
- 1020 Испытание сериализации
- 1021 Перемещение текста
- 1023 Печать документа
- 1023 Процесс печати
- 1026 Реализация многостраничной печати
- 1027 Получение полного размера документа
- 1028 Сохранение данных печати
- 1028 Подготовка к печати
- 1030 Очистка после печати
- 1031 Подготовка контекста устройства
- 1031 Печать документа
- 1035 Получение печатного вывода документа
- 1036 Сериализация и печать в CLR-версии программы Sketcher
- 1036 Двоичная сериализация
- 1040 Сериализация класса Sketch
- 1046 Печать эскиза
- 1047 Резюме
- 1049 Упражнения
- 1051 Глава 19. Написание собственных DLL-библиотек
- 1051 Что такое DLL-библиотека?
- 1053 Как работают DLL-библиотеки
- 1055 Содержимое DLL-библиотеки
- 1056 Вариации DLL-библиотек
- 1057 Что помещать в DLL-библиотеку
- 1058 Написание DLL-библиотек
- 1058 Написание и использование DLL расширения
- 1065 Экспорт переменных и функций из DLL-библиотеки
- 1066 Импорт символов в программу
- 1066 Реализация экспорта символов из DLL-библиотеки
- 1069 Резюме
- 1069 Упражнения
- 1051 Что такое DLL-библиотека?
- 1071 Глава 20. Подключение к источникам данных
- 1072 Основы баз данных
- 1074 Немного об SQL
- 1075 Извлечение данных с использованием SQL
- 1076 Соединение таблиц с помощью SQL
- 1078 Сортировка записей
- 1079 Поддержка баз данных в MFC
- 1080 Классы MFC для поддержки ODBC
- 1081 Создание приложения базы данных
- 1081 Регистрация базы данных ODBC
- 1083 Генерация программы MFC ODBC
- 1086 Структура программы
- 1095 Тестирование примера
- 1097 Сортировка набора записей
- 1097 Модификация заголовка окна
- 1098 Использование второго объекта набора записей
- 1098 Добавление класса набора записей
- 1101 Добавление класса представления для набора записей
- 1105 Настройка набора записей
- 1108 Доступ к многотабличным представлениям
- 1114 Просмотр заказов для продукта
- 1114 Просмотр подробностей о заказчике
- 1114 Добавление набора записей заказчиков
- 1115 Создание ресурса для диалога заказчика
- 1116 Создание класса представления заказчиков
- 1117 Добавление фильтра
- 1119 Реализация параметра фильтра
- 1120 Связывание диалога заказов с диалогом информации о заказчике
- 1122 Испытание программы просмотра базы данных
- 1122 Резюме
- 1123 Упражнения
- 1125 Глава 21. Обновление источников данных
- 1125 Операции обновления
- 1126 Операции обновления CRecordset
- 1128 Проверка допустимости операций
- 1128 Блокировка записей
- 1129 Транзакции
- 1129 Операции транзакций класса CDatabase
- 1131 Простой пример обновления
- 1132 Настройка приложения
- 1134 Управление процессом обновления
- 1136 Реализация режима обновления
- 1137 Активизация и отключение полей редактирования
- 1138 Изменение надписи кнопки
- 1139 Управление видимостью кнопки Cancel
- 1140 Отключение меню Record
- 1141 Фактическое выполнение обновления
- 1143 Реализация операции отмены
- 1144 Добавление строк в таблицу
- 1145 Процесс ввода заказа
- 1146 Создание ресурсов
- 1147 Создание наборов записей
- 1147 Создание представлений наборов записей
- 1151 Добавление элементов управления в ресурсы диалогов
- 1155 Реализация переключения диалоговых окон
- 1159 Создание идентификатора заказа
- 1159 Сохранение идентификатора нового заказа
- 1160 Создание нового идентификатора заказа
- 1162 Инициализация создания идентификатора
- 1164 Хранение данных заказа
- 1165 Установка дат
- 1166 Выбор продуктов для включения в заказ
- 1167 Добавление нового заказа
- 1172 Резюме
- 1172 Упражнения
- 1173 Глава 22. Дополнительные сведения о приложениях Windows Forms
- 1173 Создание графического интерфейса приложения
- 1175 Добавление подменю
- 1176 Добавление элемента управления с вкладками
- 1178 Использование элементов управления GroupBox
- 1180 Использование элементов управления Button
- 1181 Использование элемента управления WebBrowser
- 1182 Работа приложения Winning Application
- 1183 Добавление контекстного меню
- 1184 Создание обработчиков событий
- 1184 Обработчики событий для элементов меню
- 1185 Добавление членов в класс Form1
- 1186 Обработка события меню Play
- 1190 Обработка событий меню Limits
- 1191 Создание диалогового окна
- 1192 Добавление списка в элемент управления ListBox
- 1194 Обработка событий кнопок диалогового окна
- 1194 Управление состоянием объектов ListBox
- 1195 Создание объекта диалогового окна
- 1196 Использование диалогового окна
- 1197 Проверка допустимости вводимых значений
- 1200 Обработка события элемента меню Reset
- 1201 Добавление второго диалогового окна
- 1203 Получение данных из элементов управления диалогового окна
- 1207 Отключение элементов управления вводом данных
- 1207 Обновление обработчиков элементов меню Limits
- 1209 Реализация элемента меню Help => About
- 1209 Обработка щелчка на кнопке
- 1211 Реакция на щелчок в контекстном меню
- 1213 Логика обработки элемента меню Choose
- 1213 Создание диалоговой формы
- 1213 Разработка класса диалогового окна
- 1216 Обработка события Click элемента меню Choose
- 1218 Резюме
- 1219 Упражнения
- 1173 Создание графического интерфейса приложения
- 1221 Глава 23. Доступ к источникам данных в приложениях Windows Forms
- 1222 Работа с источниками данных
- 1223 Доступ и отображение данных
- 1224 Использование элемента управления DataGridView
- 1225 Использование элемента управления DataGridView в несвязанном режиме
- 1231 Персональная настройка элемента управления DataGridView
- 1233 Настройка ячеек заголовков
- 1233 Настройка ячеек, не являющихся заголовками
- 1240 Динамическое определение стилей ячеек
- 1245 Использование связанного режима
- 1246 Компонент BindingSource
- 1251 Использование элемента управления BindingNavigator
- 1254 Привязка к отдельным элементам управления
- 1257 Работа с множеством таблиц
- 1259 Резюме
- 1260 Упражнения
- 1261 Приложение A. Ключевые слова C++
- 1261 Ключевые слова ISO/ANSI C++
- 1262 Ключевые слова C++/CLI
- 1263 Приложение Б. Коды ASCII
- 1267 Приложение В. Типы сообщений Windows
- 1269 Предметный указатель
Инструкция как скачать книгу Айвор Хортон: Visual C++ 2008. Базовый курс в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
1722