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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Резюме
  • 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 Резюме
  • 747 Глава 13. Программирование для Windows с использованием MFC
    • 748 Концепция «документ-представление» в MFC
      • 748 Что такое документ?
      • 748 Документные интерфейсы
      • 749 Что такое представление?
      • 750 Связь документа с его представлениями
      • 751 Ваше приложение и MFC
    • 752 Создание приложений MFC
      • 754 Создание SDI-приложения
      • 758 Вывод мастера MFC Application Wizard
      • 767 Создание MDI-приложения
    • 769 Резюме
    • 770 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 Упражнения
  • 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 совершенно бесплатно.
Visual C++ 2008. Базовый курс
Рейтинг книги:
0 голосов
1722

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: