
- •6. Использование указателя this. Встраиваемые (inline-) функции. Статические члены класса.
- •8. Перегрузка функций (методов класса). Почему следует использовать перегрузку. Перегрузка функций. Перегрузка конструкторов.
- •10.Перегрузка операций (операторов). Понятие перегрузки операторов. Синтаксис перегрузки операции. Перегрузка бинарных операторов.
- •11. Перегрузка операций (операторов). Перегрузка операторов отношения и логических операторов. Перегрузка оператора присваивания. Перегрузка унарных операторов.
- •12. Перегрузка операций (операторов). Перегрузка операторов инкремента и декремента. Перегрузка оператора индексирования. Перегрузка оператора вызова функции.
- •13.Перегрузка операций (операторов). Перегрузка операторов доступа к членам класса. Перегрузка операторов new и delete. Функции преобразования типа.
- •14. Наследование. Производные классы. Синтаксис производного класса. Простое наследование. Множественное наследование. Виртуальные базовые классы. Создание производных классов.
- •15. Полиморфизм и виртуальные функции. Раннее и позднее связывание. Динамический полиморфизм. Виртуальные функции. Виртуальные и невиртуальные функции.
- •16. Полиморфизм и виртуальные функции. Применение динамического полиморфизма. Виртуальные деструкторы. Абстрактные классы и чисто виртуальные функции.
- •Void *memset(void *dest, int cchar, size_t count);
- •25. Стандартный класс string. Конструкторы строк. Изменение величины строки и ее емкости. Присваивание, добавление и обмен строк. Доступ к символам строки.
- •26. Стандартный класс string. Копирование строк и подстроки. Сравнение строк. Операции поиска.
- •27. Стандартный класс string. Вставка символов в строку. Замена и удаление символов из строки. Операции ввода-вывода строк.
- •Int main ()
- •28. Шаблоны. Шаблоны функций. Перегрузка шаблонов функций. Специализация шаблонов функций. Шаблоны функций сортировки.
- •29. Шаблоны классов. Конкретизация шаблона класса. Специализация шаблонов классов. Статические члены шаблонного класса.
- •30.Ключевое слово typename. Недостатки шаблонов.
- •Символьные функции (ctype.H)
- •Проверка, является ли символ цифрой, буквой или символом ascii
- •Проверка на управляющий символ, разделительный символ (пробел, табуляция, перевод строки) и знак препинания
- •Преобразования в код ascii, к верхнему и нижнему регистрам
- •41. Строковые функции (string.H). Работа с функциями манипуляции памятью. Нахождение символа в строке. Сравнение символов в строках. Заполнение буфера при помощи memset().
- •Работа с функциями манипуляции памятью
- •Нахождение символа в строке
- •Сравнение символов в строках
- •Заполнение буфера при помощи memset()
- •Сравнение содержимого двух строк
- •Приведение символов к верхнему регистру
- •43. Математические функции (math.H). Построение таблицы значений тригонометрических функций.
- •Построение таблицы значений тригонометрических функций
- •Структуры для представления даты/времени и параметры функций
- •Работа с функциями localtime() и asctlme()
- •Работа с функциями gmtime() и asctime()
- •Работа с функцией ctime()
- •45. Общие принципы и средства программирования для Windows. Язык Windows. Краткий обзор среды Windows. Преимущества использования Windows.
- •46. Общие принципы и средства программирования для Windows. Графический интерфейс пользователя. Многозадачная среда. Преимущества ввода посредством очереди.
- •48. Программирование для Windows: принципы и понятия. Окно Windows. Элементы интерфейса Windows.
- •49. Программирование для Windows: принципы и понятия. Рамка окна. Заголовок окна. Кнопка оконного меню. Оконное меню. Кнопка свертывания окна. Кнопка развертывания окна.
- •50.Программирование для Windows: принципы и понятия. Вертикальная полоса прокрутки. Горизонтальная полоса прокрутки. Панель меню. Рабочая область окна.
- •52. Программирование для Windows: принципы и понятия. Окна сообщений Windows. Окна диалога Windows. Шрифты Windows. Растровые изображения Windows. Перья Windows. Кисти Windows.
- •61.Новое поколение Windows. Передача информации с помощью сообщений. Независимость от драйверов аппаратуры. Plug-and-play. Библиотеки динамической компоновки. 16 бит против 32 бит.
- •62. Новое поколение Windows. Различные аппаратные платформы. Различные программные платформы. Многопроцессорные системы. Гибкость.
- •63.Новое поколение Windows. Распределенные вычисления. Сертифицированная правительством система обеспечения безопасности. Открытая архитектура систем Windows. Сбои системы. Виртуальная память.
- •64.Требования к программному и аппаратному обеспечению Windows приложений. Требования к программному обеспечению. Требования к аппаратуре.
- •65. Понятия и терминология Windows. Окно Windows. Визуальные компоненты интерфейса. Рамка. Заголовок окна. Кнопка управления или кнопка завершения.
- •66. Понятия и терминология Windows. Системное меню. Кнопка минимизации. Кнопка максимизации. Кнопка завершения.
- •67. Понятия и терминология Windows. Вертикальная полоса прокрутки. Горизонтальная полоса прокрутки. Полоса меню. Клиентская область.
- •68. Классы окон. Объектно-ориентированное программирование. Пиктограммы. Курсоры. Текстовые курсоры. Окна сообщений.
- •71. Ресурсы Windows. Функции Windows. Windows.H и связанные файлы заголовков. Нотация и правила подготовки программ Windows.
- •73. Доступ к оболочке Windows. Система координат. Основные режимы отображения. Координаты устройства.
- •77. Виртуальные клавиши. Системные таймеры. Срабатывание таймера. Эффективное использование механизма таймеров.
- •78. Память. Распределение памяти с помощью операционной системы. Уменьшение количества объектов. Уменьшение размера объекта. Использование перемещаемых объектов.
- •79. Простое приложение Windows. Оболочка для всех приложений. Эффективное использование описателей. Компоненты приложения Windows. Функция WinMain(). Регистрация класса окна.
- •80. Простое приложение Windows. Style. LpfnWndProc. CbClsExtra. CbWndExtra. Hinstance. HIсоn. HCursor. HbrBackground. IpszMenuName. IpszClassName.
- •81. Простое приложение Windows. Создание окна. Отображение и перерисовка окна. Цикл обработки сообщений. Функция GetMessage(). Функция TranslateMessage(). Функция DispatchMessage().
- •82. Простое приложение Windows. Функция окна. Сообщение wm_paint. Сообщение wm_destroy. Функция DefWindowProc(). Написание файла определения модуля.
- •83. Простое приложение и шаблон. Рисование эллипса. Рисование сегмента. Рисование сектора. Рисование прямоугольника.
- •84. Шаблоны приложения. Использование шаблона для создания программы, изображающей синусоиду. Файлы заголовков Windows. Файлы ресурсов. Создание программы для вывода круговых диаграмм.
- •85. Управление окном Windows. Понимание полос прокрутки. Терминология полос прокрутки. Константы полос прокрутки. Диапазон полосы прокрутки. Положение полосы прокрутки. Типы полос прокрутки.
- •96 Работа с ресурсами шрифта. Терминология шрифтов Windows. Константы шрифта. Структура textmetric. Структура logfonta. Ячейка символа шрифта.
- •97 Основные характеристики шрифта. Ширина шрифта. Автоматические кернинг и установка межстрочного интервала. Множества символов oem и ansi.
- •98 Основные характеристики шрифта. Логические и физические шрифты. Векторные, растровые шрифты и шрифты TrueType. Схема отображения шрифтов.
- •99 Выбор семейств шрифтов. Стандартные шрифты. Принтерные шрифты.
- •100 Приложения, управляющие шрифтами. Функция CreateFont(). Функция CreateFontlndirect().
- •102. Средства и методы gdi. Перья. Кисти. Изменение цветов фона. Изменение цветов текста.
- •104 Работа с битовыми образами. Функции BitBlt() и PlgBlt(). Загрузка и вывод на экран битовых образов. Обработка битовых образов при помощи функции Windows nt MaskBlt().
- •105. Вращение графических образов. Вращение прямоугольника.
- •108. Разработка приложений Win32. Важные изменения для переносимости программ в Windows 95 или Windows nt. Типы и структуры данных для Win32. Описатели в Win32.
- •Важные изменения для переносимости программ в Windows 95 или Windows nt.
- •Описатели в Win32.
- •109 Разработка приложений Win32. Менеджер палитр. Использование логической палитры.
- •110 Разработка приложений Win32. Шаблон приложения win32swp. Особенности поддержки Win32 в win32swp.C. Функция WinMain(). Регистрация класса окна. Создание окна.
- •111. Разработка приложений Win32. Отображение и перерисовка окна. Цикл обработки
- •112 Разработка приложений Win32. Функция окна. Обработка сообщений wm_paint. Обработка сообщения wm_destroy. Функция DefWIndowProc().
- •113 Подключение ресурсов. Приложение Win32 win32bar. Круговая диаграмма. Приложение pie.Cpp.
- •116. Библиотека Microsoft Foundation Classes. Необходимость библиотеки mfc. Принципы построения библиотеки mfc. Основные возможности библиотеки mfc.
- •117. Библиотека Microsoft Foundation Classes. Все начинается с cObject. Важнейшие классы библиотеки. Создание приложения mfc Windows. Выбор количества окон, которые будут поддерживаться приложением.
- •118. Библиотека Microsoft Foundation Classes. Базы данных. Поддержка составных документов. Внешний вид приложения и другие опции. Другие опции.
- •119. Библиотека Microsoft Foundation Classes. Имена файлов и классов. Создание приложения. Поработайте самостоятельно.
- •120. Упрощенное приложение. Вывод окна в приложении 23simple.Cpp. Использование afxwin.H. Создание класса, производного от cWinApp. CFrameWnd.
- •121. Упрощенное приложение. Реализация метода Inltlnstance(). Конструктор. Запуск 23simple.Cpp. Упрощение структуры облегчает сопровождение.
- •124. Диалоговые окна и элементы управления. Формирование ресурсов диалогового окна. Задание идентификаторов диалогового окна и элементов управления. Создание диалогового окна Sample Dialog.
- •128. Линейчатая диаграмма с использованием меню и окон диалога.
- •Заголовочный файл 24bar.H.
- •Заголовочный файл ресурсов 24barr.H, файл описания ресурсов 24bar.Rc и файл описания окна диалога 24bar.Dlg.
- •Исходный текст программы 24bar.Cpp.
- •Особенности Microsoft Foundation Classes, относящиеся к Windows 95 и nt.
- •Изучаем win32mfctmp.Cpp.
- •130. Научная графика с использованием ресурсов: меню, окна диалога и мультимедийного звука. Заголовочный файл win32mfcfour.H. Заголовочный файл ресурсов
50.Программирование для Windows: принципы и понятия. Вертикальная полоса прокрутки. Горизонтальная полоса прокрутки. Панель меню. Рабочая область окна.
Программирование для Windows: принципы и понятия
Windows вводит новые понятия и принципы программирования. Все они могут быть разделены на две основные группы. В первую входят те свойства Windows, которые видны пользователю, например, меню, окна диалога, значки и прочее. Вторую группу составляют невидимые для пользователя объекты: это сообщения, функции и многое другое. Есть стандартный набор понятий, относящихся к программированию для Windows. Он дает разработчикам возможность продуктивно общаться между собой. Таким образом, каждое свойство Windows имеет название и определенное предназначение.
Вертикальная полоса прокрутки
При необходимости приложение может отобразить вертикальную полосу прокрутки (scroll bar). Она расположена непосредственно снизу от кнопки развертывания окна и имеет на концах две кнопки со стрелочками вверх и вниз, а также бегунок, перемещающийся между этими кнопками. Бегунок отображает положение видимой в окне части документа относительно документа в целом. Полоса прокрутки используется для того, чтобы выбрать, какую страницу документа показывать в окне. Если нажать мышью одну из кнопок, документ сместится на одну строку в соответствующем направлении. Одно из лучших применений вертикальной полосы прокрутки — быстрое перемещение по многостраничному документу.
Горизонтальная полоса прокрутки
Приложение может также использовать горизонтальную полосу прокрутки. Она отображается в нижней части окна. Горизонтальная полоса прокрутки работает аналогично вертикальной, позволяя выбирать горизонтальное смещение окна в пределах документа. Если нажать мышью кнопку со стрелкой вправо или влево, документ сместится на одну позицию в соответствующем направлении. Если перетаскивать мышью бегунок, документ будет быстро смещаться вправо или влево. Одно из лучших применений горизонтальной полосы прокрутки — быстрое перемещение по столбцам электронной таблицы.
Панель меню
Панель меню (menu bar) располагается под заголовком окна. Панель меню используется для выбора пунктов меню и подменю. Вы можете сделать выбор нажатием мыши или использовать комбинации горячих клавиш. Такие комбинации обычно состоят из клавиши <ALT> и подчеркнутой буквы в названии пункта меню, например, "F" в пункте File.
Рабочая область окна
Рабочая область (client area) обычно занимает большую часть любого окна. Рабочая область — основное место вывода информации приложения. Управление рабочей областью входит в обязанности приложения. Более того, только приложение имеет право выводить информацию в рабочую область.
51. Программирование для Windows: принципы и понятия. Класс окна в C/C++. Windows и объектно-ориентированные программы. Значки Windows. Курсоры Windows. Текстовые маркеры.
Windows вводит новые понятия и принципы программирования. Все они могут быть разделены на две основные группы. В первую входят те свойства Windows, которые видны пользователю, например, меню, окна диалога, значки и прочее. Вторую группу составляют невидимые для пользователя объекты: это сообщения, функции и многое другое. Есть стандартный набор понятий, относящихся к программированию для Windows. Он дает разработчикам возможность продуктивно общаться между собой. Таким образом, каждое свойство Windows имеет название и определенное предназначение. В этом разделе вы познакомитесь с различными терминами, которые позволят вам со знанием дела обсуждать и разрабатывать приложения Windows.
Класс окна в C/C++
Основные элементы окна помогают создать стандартный вид приложения. Бывают случаи, когда приложению необходимо создать два окна, имеющих сходный вид и поведение. создаются два окна с идентичным видом и функционированием, они имеют одинаковый класс окна (window class). Несмотря на это, разные окна могут иметь различные параметры.
Каждое создаваемое окно должно иметь определенный класс. При запуске программы, написанной на С с использованием обычных вызовов функций, автоматически регистрируются пять стандартных классов. Ваше приложение может также зарегистрировать свои собственные классы.
Окна с аналогичным видом и поведением могут быть сгруппированы в класс, уменьшая количество информации, которую надо отслеживать. Поскольку каждый класс имеет свою структуру параметров окна, доступную всем, не происходит ненужное дублирование данных. Аналогично, два окна одного и того же класса используют общую функцию окна со всеми ее вспомогательными процедурами.
Windows и объектно-ориентированные программы
Даже традиционные программы Windows на С имеют отдельные черты объектно-ориентированных программ. в объектно-ориентированном программировании объектом называют абстрактный тип данных, состоящий из структуры данных и функций, работающих с этой структурой. Объекты также получают сообщения, которые заставляют их выполнять различные действия.
Значки Windows
Значок (icon) — это небольшой графический объект, ассоциирующийся для пользователя с определенным действием, понятием или продуктом. Значки могут быть очень мощным инструментом. Они хороши для привлечения внимания пользователя, например, при выдаче предупреждающего сообщения, а также для представления возможностей выбора. Windows предлагает несколько стандартных значков, Можно также создавать ваши собственные цветные значки при помощи редактора ресурсов из пакета компилятора C++.
Курсоры Windows
Курсоры (cursors) также являются графическими объектами, в отличие от обычного мигающего курсора DOS. Графический курсор перемещается в соответствии с движением мыши. Этот символ может изменять свой вид, отражая определенные действия Windows. В Windows имеются несколько готовых курсоров: диагональная стрелка, вертикальная стрелка, песочные часы, крестик, курсор в виде буквы I и некоторые другие. можно использовать редактор ресурсов из пакета C++ для создания своих собственных курсоров.
Текстовые маркеры
Текстовый маркер (caret) — символ, помещаемый приложением в окно, чтобы указать пользователю место, в котором появится набираемый текст. Как правило, ввод от мыши связан с курсором мыши, а ввод с клавиатуры — с текстовым маркером. Единственный стандартный текстовый маркер, создаваемый автоматически, при отображении окна диалога — это текстовый маркер в виде вертикальной черты. В отличие от значков и курсоров мыши приложение должно создавать свои текстовые курсоры, пользуясь специальными функциями: других стандартных текстовых курсоров не существует.