
- •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. Заголовочный файл ресурсов
52. Программирование для Windows: принципы и понятия. Окна сообщений Windows. Окна диалога Windows. Шрифты Windows. Растровые изображения Windows. Перья Windows. Кисти Windows.
Окно сообщения (message box)- графический объект Windows. Окно сообщений представляет собой раскрывающееся (pop-up) окно, содержащее заголовок, значок и сообщение.
Приложение должно задать заглавие сообщения и само сообщение, а также указать, какой стандартный значок использовать (если надо) и какие из стандартных вариантов ответа допустимы (например, ОК).
Стандартные комбинации вариантов ответа включают Yes/No (Да/Нет), Yes/No/Cancel (Да/Нет/Отмена), OK/Cancel (ОК/Отмена) и Retry/Cancel (Повтор/Отмена). Стандартные значки включают IconHand (рука), IconQuestion (знак вопроса), IconExclamation (восклицательный знак), and IconAsterisk (звездочка).
Окна диалога в основном используются для получения информации от пользователя, а не просто вывода сообщений. Окно диалога позволяет приложению получать информацию не по одному, а по несколько значений за один раз.
Шрифт (font) — это графический объект или ресурс, определяющий полный набор символов одной гарнитуры. Гарнитура (typeface) — это основной дизайн символа, задаваемый определенными засечками и толщиной штрихов.
Растровые изображения (bitmaps) служат как бы фотоснимком изображения на дисплее, хранящимся в оперативной памяти, применяются, когда программе надо быстро вывести изображение, передаются непосредственно из памяти, их вывод занимает гораздо меньше времени, чем выполнение кода, необходимого для перерисовки.
они используются для рисования картинок на дисплее
используются для создания кистей
Недостатки: большие изображения могут занимать участки памяти непредсказуемого размера, может содержать только картинку, т.е.нет доступа к отдельным компонентам изображения.
Перо (pen) используется для рисования линий и контуров геометрических фигур. Оно имеет три основных параметра: толщину, тип линии (пунктир, точки, сплошная) и цвет.
Windows использует кисть (brush) для закрашивания областей определенным цветом или узором. Минимальный размер кисти 8х8 точек и, подобно перьям, имеют три основных параметра: размер, шаблон и цвет. Шаблон может представлять собой чистый цвет, различную штриховку или любой заданный пользователем узор.
53. Программирование для Windows: принципы и понятия. Прием и передача сообщений Windows. Формат сообщения Windows. Как создаются сообщения Windows. Ответ на сообщение Windows. Цикл обработки сообщений.
Система передачи сообщений Windows является основой для распределения информации в многозадачной среде, сообщение выступает в качестве уведомления о том, что произошло определенное событие, которое, может быть, требует обработки (а может быть, и нет). Эти события могут возникать по инициативе пользователя, например, из-за движения мыши, изменения размера окна или выбора пункта меню.
Windows предоставляет программе доступ к тысячам функций. Вызовы этих функций обрабатываются в трех основных модулях: KERNEL, GDI (graphics device interface — интерфейс графического устройства) и USER. Модуль KERNEL отвечает за управление памятью, загрузку и запуск приложений и распределение времени. Модуль GDI содержит все функции для отображения графики. Модуль USER заботится обо всех остальных потребностях приложения.
Сообщения уведомляют программу, что произошло интересующее ее событие, каждое сообщение адресовано некоторому окну. Единственная система распределения сообщений — системная очередь сообщений. Каждая выполняемая программа имеет и собственную очередь.
В 16-разрядной Windows каждое сообщение, независимо от типа, имеет четыре параметра: описатель окна (16-разрядное слово) - (window handle) - идентифицирует объект, расположенный в подвижной области памяти, позволяет Windows эффективно управлять памятью, оставляя эту деятельность невидимой для приложений.
тип сообщения (16-разрядное слово) - один из идентификаторов, определенных в файле WINDOWS.H. . Самый часто встречаемый в обычных программах С вид сообщений — оконные сообщения. Они включают такие сообщения, как WM_CREATE, WM_PAINT, WM_CLOSE, WM_COPY, WM_PASTE и другие.
один параметр типа WORD (16-разрядное слово) и один параметр типа LONG (32-разрядное слово). Первый параметр сообщения — описатель окна, которому сообщение адресовано.
Приложение может получать сообщение от пользователя, от самой Windows, от самого себя и от других приложений(большинство написанных для Windows приложений не использует). Сообщения от пользователя несут информацию о нажатиях клавиш, перемещениях мыши и т.д.
В зависимости от текущего состояния приложения оно может обрабатывать или игнорировать сообщения от Windows. (Приложению посылается сообщение всякий раз, когда должно произойти какое-то изменение. К примеру, если пользователь щелкнул на значке приложения, указывая, что он хочет сделать это приложение активным. В данном случае Windows сообщает приложению, что его главное окно активизируется, что изменяются его размеры и положение и т. д.)
Различные окна могут по-разному реагировать на одно и то же сообщение. Приложению приходится не только иметь отдельную процедуру для обработки данного типа сообщения, но и отдельную процедуру для обработки данного типа сообщения для данного окна. Функция окна объединяет функции обработки всех типов сообщений для данного окна.
цикл обработки сообщений (message loop) выполняется классом CWinAPPH3 библиотеки MFC. Цикл обработки сообщений отвечает за распределение сообщений, переданных Windows в программу.
два фактора, влияющие на последовательность обработки сообщений: очередь сообщений и приоритет приложения(Windows устанавливает ему приоритет 0. В процессе выполнения приложения оно может изменять приоритет в пределах от -15 до +15)
Вне зависимости от источника сообщение сперва попадает в системную очередь. Сообщения помещаются в очередь - первым вошел — первым вышел (first in — first out, FIFO).
Есть три типа асинхронных(Windows отодвигает сообщение в конец очереди)сообщений: перерисовки, таймера и завершения.
54. Программирование для Windows: принципы и понятия. Доступ к функциям Windows. Использование соглашения о вызовах языка Pascal. Заголовочный файл Windows: WINDOWS.H. Компоненты приложения для Windows.
В традиционных 16-разрядных приложениях управление функциями передается путем дальнего межсегментного вызова. Межсегментный вызов необходим потому, что Windows обращается к функциям так, как будто они расположены не в сегменте кода программы, а в другом сегменте. Процедурно-ориентированный интерфейс прикладной программы (application program interface, API) через системный стек передает параметры в различные модули, которые составляют Windows. доступ к функциям Windows должен осуществляться по 32-разрядным адресам. Этот адрес можно разделить на две составляющие: 16-разрядный адрес сегмента и 16-разрядное смещение.( параметры передаются в стек справа налево (то есть начиная с последнего параметра и заканчивая первым)
Передача параметров в стиле языка Pascal
Параметры функции помещаются в стек слева направо. В обязанности вызываемой функции входит установка указателя стека в исходное состояние перед возвратом из функции, теперь вызывающей процедуре уже не надо этим заниматься. Windows использует это соглашение о вызовах, поскольку оно оказалось более эффективным по объему кода. Это соглашение значительно затрудняет создание функций с переменным списком параметров. Например, если передано неверное количество параметров, это скорее всего приведет к краху программы.
Заголовочный файл WINDOWS.H включает (для 16-разрядной Windows) или ссылается (для 32-разрядной Windows) на более чем тысячу определений констант, объявлений typedef и сотни прототипов функций. приложения Windows требуют больше времени на компиляцию – т.к. этот файл имеет большой размер
Обычно директивы #define, находящиеся в WINDOWS.H, назначают численной константе текстовый идентификатор, например
#define WM_CREATE 0х0001 - компилятор Visual C/C++ будет заменять WM_CREATE на шестнадцатеричную константу 0х0001
Существует несколько этапов, общих при разработке любых приложений Windows:
Создать функцию WinMain() и вспомогательные для нее в программе на С, либо применить MFC, например, CWinAPP, в программе на C++.
Создать описание меню, окон диалога и других ресурсов и поместить их в файл описания ресурсов.
(При необходимости) При помощи редактора ресурсов из пакета Visual C++ создать собственные курсоры, значки и растровые изображения.
(При необходимости) При помощи редактора ресурсов из пакета Visual C++ создать окна диалогов.
Создать описание модуля (только для 16-разрядных приложений и поместить его в файл определения модуля (module definition file).
Откомпилировать и скомпоновать тексты на C/C++.
Откомпилировать файл описания ресурсов и включить его в исполняемый файл.
55. Инструментальные средства Visual C++. Необходимость файла проекта. Создание ресурсов. Использование редакторов ресурсов. Создание значков, курсоров и растровых изображений. Создание значка и курсора. Как проектировать меню. Работа меню.
редакторов ресурсов - можно обратиться посредством команды Resource|New. позволяют быстро создавать значки, курсоры и растровые изображения. Файлы ресурсов позволяют также дополнить программу элементами для взаимодействия с пользователем, такими, как меню, клавиши доступа и окна диалога. Ресурс (resource) представляет собой данные, включенные в исполняемый файл приложения. В то же время, они не попадают в обычный сегмент данных программы. В Windows З.х несколько копий одного приложения совместно используют его программный код и ресурсы.
Необходимость файла проекта
представляют собой эффективное средство управления компиляцией ресурсов и текста программы, а также позволяют следить за тем, чтобы в исполняемом файле вовремя отражались изменения, внесенные в исходные тексты, включает информацию о компиляции и компоновке определенной программы
Создание ресурсов – используя редакторы ресурсов создать значки, курсоры и растровыми изображениями, Эти редакторы в сочетании с компилятором C/C++ составляют полноценную среду для разработки графических ресурсов.
Все редакторы включены в среду Visual C++ и являются неотъемлемой частью компилятора
Запустить любой редактор ресурсов можно командой Resource|New.
Значки и курсоры по существу представляют собой маленькие растровые изображения, не будут зависеть от разрешающей способности устройства, на котором они будут отображаться. Редактор значков Icon Editor и редактор курсоров Cursor Editor.
Создать значок или курсор очень легко. Сначала выберите New из меню Resource. Затем выберите нужный тип ресурса из предложенного списка (Bitmap — растровое изображение, Icon — значок, Cursor — курсор).
Меню — одно из важнейших средств Windows для создания интерактивных программ. Меню обеспечивают простой метод взаимодействия с программой, аналогичный для всех приложений. Меню создаются и реализуются в программе.
56. Инструментальные средства Visual C++. Проектирование меню. Меню и компилятор ресурсов. Ключевые слова и параметры меню. Быстрые клавиши. Как вводить данные при помощи окон диалога. Принципы построения окон диалога.
Меню Resource позволяет вызывать редактор для создания или изменения ресурсов меню. Альтернативная (и часто предпочтительная) методика состоит в использовании при создании меню текстового редактора. Он может создавать и модифицировать описание меню в файле описания ресурсов (.RC). Этот файл содержит обыкновенный (не откомпилированный) текст В этом же файле могут быть указаны различные стили и атрибуты меню.
Информацию о ресурсе меню можно компилировать при помощи компилятора ресурсов. Результат компиляции (файл .RES) будет встроен в программу на этапе компоновки, в результате чего получится исполняемый файл (.ЕХЕ).
файл описания ресурса:
PIEMENU MENU LOADONCALL MOVEABLE PURE DISCARDABLE
BEGIN
POPUP "Pie_Chart_Data"
BEGIN
Menultem "About Box...", IDM_ABOUT
Menultem "Data Entry...", IDM_INPUT
Menultem "Exit", IDM_EXIT
END
END
Вместо слов BEGIN и END можно использовать фигурные скобки ({})Многоточие, следующее за названием пункта, указывает, что соответствующая команда вызывает появление окна диалога
Данному описанию меню присвоено имя PIEMENU. За именем следует ключевое слово MENU. В этом примере определяется подменю Pie Chart Data, название которого появится в строке главного меню. В названии пункта меню можно использовать символ амперсанд (&) для того, чтобы следующая за ним буква стала подчеркнутой. Каждая строка, начинающаяся ключевым словом MENUITEM, определяет один пункт меню, например "Data Entry". Справа от названия пункта находится его идентификатор или константа. Числовые значения можно заменить идентификаторами, определенными в заголовочном файле, — например, IDM_ABOUT 40, IDM_INPUT 50 и IDM_EXIT 70. IDM означает, что это идентификатор пункта меню. следить за тем, чтобы каждый пункт меню имел уникальный идентификатор.
Быстрые клавиши чаще всего используются создателями меню в качестве "клавиш быстрого доступа" для обращения к командам меню.
предпочтительным способом ввода является использование окна диалога. Окна диалога позволяют пользователям отмечать элементы в списке, устанавливать флажки опций, вводить строки и числа непосредственно с клавиатуры. Начиная с Windows 3.0, в окно диалога также может входить поле со списком. Команды About Box... и Data Entry... в примере вызывают появление окна диалога. Как правило, описание окна диалога генерируется редактором диалогов Dialog Editor. Этот редактор рассчитан на считывание и редактирование ресурсов в текстовом формате (.RC) или уже откомпилированных (.RES).
Окно диалога может быть одного из двух основных типов — модального (все остальные элементы данной программы становятся недоступными для пользователя до тех пор, пока он не закроет окно диалога, нажав кнопку ОК или Cancel (Отмена).)
и немодального (пользователь имеет возможность переключаться между окнами)
57. Инструментальные средства Visual C++. Редактирование окон диалога. Использование редактора. Средства редактирования. Создание управляющих элементов при помощи панели инструментов.
Есть два способа ввести информацию о диалоге в файл ресурса (.RES).
воспользоваться текстовым редактором C/C++ и сохранить текст в файле описания ресурсов с расширением .RC. После компиляции вы получите файл ресурсов с расширением .RES.
создаете окно диалога с нуля, вам следует использовать меню Resource, выбрав в качестве редактора Dialog
меню File, чтобы открыть новое окно диалога. Остальные пункты — это Edit, Resource, Layout (расположение), Window и Help. Названия большинства из них говорят сами за себя; отметим лишь самые важные моменты.
Меню Edit, помимо всего прочего, позволяет быстро вернуться на шаг назад, если в процессе создания окна диалога допущена ошибка. Вы можете также вырезать, копировать, вставлять и удалять элементы, как вы делаете это в большинстве приложений Windows.
Меню Resource позволит вам увидеть список параметров конкретного управляющего элемента.
Меню Layout позволит выровнять, разнести и центрировать управляющие элементы, упорядочить кнопки, изменить размеры и так далее.
Меню Help сообщит дополнительные подробности обо всех перечисленных средствах.
Инструменты
Инструмент "флажок" - бычно выставляют (или отмечают) нажатием мыши, дают возможность выбрать один или несколько параметров одновременно.
Инструмент "переключатель" создает небольшой кружок - лишь один переключатель в группе может быть включен в данный момент.
Инструмент "кнопка"
Инструмент "рамка группы" - окружает группу элементов, используемых совместно
Инструменты "горизонтальная полоса прокрутки" и "вертикальная полоса прокрутки"
Инструмент " список"
Инструмент "редактор текста"
Инструмент "статический текст" - создать заголовок для редактора
Инструмент "значок" используется для размещения значка в окне диалога
58. Инструментальные средства Visual C++. Создание окна диалога. Изучение описания ресурса. Элементы языка описания ресурсов. Компиляция ресурсов.
Создание окна диалога
Здесь мы создадим несложное окно диалога "О программе". Такие окна используют для указания названия проекта, перечисления разработчиков, указания даты регистрации авторских прав и тому подобного. Как правило, такое окно содержит единственную кнопку — ОК. Создать его проще всего. На рисунке показана заготовка окна диалога с нужным положением и размерами, куда осталось только поместить текст и кнопку.
В этом примере окна диалога мы используем только два типа управляющих элементов: статический текст и кнопку. Чтобы ввести текст, выберите желаемое выравнивание (влево, вправо или по центру) и щелкните мышью соответствующий инструмент в панели. Теперь при помощи мыши вы можете выбрать положение текста в окне диалога. Щелчок мышью внутри окна диалога поместит в это место управляющий элемент. Щелкнув мышью внутри этого элемента, вы сможете отредактировать строку, которая будет в нем отображаться.
Чтобы удалить существующий управляющий элемент (например, кнопку "Cancel"), щелкните на нем и нажмите кнопку <DEL>. Щелкнув мышью на кнопке, вы сможете задать текст для этой кнопки. В данном случае текст должен быть "ОК.".
Вы можете сохранить информацию об окне диалога, выбрав команду Save из меню File. Помните, что редактор диалогов сохраняет файл в виде текста (.RC) или откомпилированного ресурса (.RES). Эффективное использование редактора диалогов — это навык, который приходит с практикой.
можно посмотреть на описание ресурса, если оно сохранено в виде текстового файла с расширением .RC.
"О Программе"
ABOUTDLGBOX DIALOG DISCARDABLE 50, 300, 180, 80
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "System"
BEGIN
CTEXT "Microsoft С Pie Chart Program",-1,2,60,176,10,
NOT WS_GROUP
CTEXT "by N.Beloded",-1,2,45,176,10,
NOT WS_GROUP
PUSHBUTTON "OK",IDOK,74,10,32,14
END
присвоено имя ABOUTDLGBOX, Наряду с указанием размеров, редактор приписал ему некоторые параметры сегмента. Далее константы, задающие стиль, указывают, что окно диалога имеет рамку модального окна диалога и является раскрывающимся, Первый и второй элементы являются статическим текстом. Параметры указывают тип и расположение текста. Третий элемент — кнопка ОК. Текст в кавычках указывает, какая надпись должна появиться на кнопке.
Элементы языка описания ресурсов
Можно создать файл описания ресурса, собрав в одном файле ресурсы окон диалога и меню.
создали файл описания ресурса и назвали файл MYRES.RC
myicon ICON myicon.ico
mycursor CURSOR mycursor.cur
mybitmap BITMAP mybitmap.bmp
Теперь файл MYRES.RC содержит три ресурса. Их имена MYICON, MYCURSOR и MYBITMAP. Ключевые слова ICON, CURSOR и BITMAP определяют тип ресурса. За ними следуют имена файлов, содержащих данные ресурсов: MYICON.ICO, MYCURSOR.CUR и MYBITMAP.BMP.
Каждую из строк можно дополнить еще некоторыми параметрами. Они должны следовать за названием типа ресурса и задаются ключевыми словами PRELOAD, LOADONCALL, FIXED, MOVEABLE и DISCARDABLE. Первые два определяют способ загрузки, остальные указывают параметры отводимой под ресурс памяти. Например:
имя тип [[параметр-загрузки]] [[параметр-памяти]] имя-файла
Параметр PRELOAD заставляет автоматически загружать ресурс при запуске приложения. Если указан LOADONCALL, ресурс будет загружен только при обращении к нему.
Например, чтобы сделать mybitmap загружаемым по запросу и выгружаемым, достаточно указать следующую строку:
mybitmap BITMAP LOADONCALL DISCARDABLE mybitmap.bmp
Файл описания ресурсов должен быть откомпилирован в файл ресурсов. За это отвечает компилятор ресурсов.
гс myres
гс myres.гс
гс -г myres.гс
Первые две команды заставят компилятор прочитать файл описания ресурсов MYRES.RC, создать файл с откомпилированным ресурсом MYRES.RES и скопировать ресурс в исполняемый файл MYRES.RES. Третья команда проделает те же действия, но не будет помещать ресурсы в MYRES. ЕХЕ.
59.Windows - эволюция и революция. Ранние поколения: DOS и Windows 3.x. Исторические вехи Windows приложений. BIOS для Windows. Прерывания. Написание программ для Windows на языках С и С++. Параллельная обработка.
DOS (англ. Disk Operating System — дисковая операционная система, ДОС) — семейство операционных систем для персональных компьютеров. Ориентировано на использование дисковых накопителей, таких как жёсткий диск и дискета.
Существовали операционные системы с таким названием для больших ЭВМ производства IBM и их клонов в 1960-80-х годах.
Windows 3.x — общее название поколения операционных систем Windows от компании Microsoft, выпущенных с 1990 по 1994 год. Первым широко распространённым релизом Microsoft Windows стала 3.0, позволив Майкрософт соревноваться с Macintosh и Commodore Amiga в области операционных систем с графическим интерфейсом.
На самом деле Windows 3.x не является полноценной самостоятельной операционной системой, потому что она фактически является операционной системой-надстройкой над DOS, так как использует ее в качестве базовой рабочей платформы.
BIOS – это базовая система ввода-вывода, включающая в себя набор подпрограмм, записанных в ПЗУ компьютера. Кроме обслуживания обращений к различным устройствам и проведения начальной диагностики (процедура POST), BIOS также занимается инициализацией всех устройств компьютера, занося в их регистры определенные значения. Очевидно, что от того, как именно настроит BIOS то или иное устройство, зависит быстродействие и стабильность всей системы в целом.
Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
На современных ПК обработчики основных аппаратных и программных прерываний находятся в памяти BIOS. Современная операционная система, во время своей загрузки, заменяет эти обработчики своими. При загрузке драйверов устройств, операционная система распределяет управление обработкой прерывания между ними. В операционных системах семейства Windows программные прерывания используются для вызовов многих API функций. В ассемблере X86 прерывание вызывается командой int.
60.Новое поколение Windows. Windows как операционная система. Стандартизованный пользовательский интерфейс. Многозадачность. Автоматическое управление памятью. Использование очередей при вводе.
Microsoft Windows — семейство проприетарных операционных систем корпорации Майкрософт (Microsoft), ориентированных на применение графического интерфейса при управлении. Изначально были всего лишь графическими надстройками для MS-DOS.
В настоящее время под управлением операционных систем семейства Windows, по данным ресурса Netmarketshare (Net Applications) по состоянию на декабрь 2011 года, работает около 92 % персональных компьютеров[1].
В соответствии со своим названием, интерфейс Windows (от анг. Window — окно) является набором окон, каждое из которых принадлежит какой-либо запущенной программе.
Окно — обособленная область экрана. Стандартное окно состоит из заголовка, в котором отображается название окна, кнопок управления окном, расположенных в правом верхнем углу, линейки меню, в которых собраны все команды управления программой, строки статуса, в которой отображаются сведения о выбранной команде меню, режиме работы программы и т. д.
Для перемещения окна необходимо установить курсор мыши на заголовок окна, нажать левую кнопку мыши и, не отпуская ее, переместить окно на новое место на рабочем столе.
Для сворачивания окна используется кнопка Свернуть. Если необходимо развернуть окно на весь экран, используется кнопка Развернуть. Для прекращения работы программы используется кнопка Закрыть.
Окно, с которым в данный момент работает пользователь, называется текущим или активным. Чтобы сделать окно текущим, необходимо щелкнуть на нем мышкой, или щелкнуть мышкой по кнопке программы в панели задач, или использовать комбинацию клавиш Alt+Tab.Программа в Windows носит название приложение, файл, содержащий данные для какой-либо программы (например текст для программы Microsoft Word), — документом. Каждый тип документа связан с тем или иным приложением. Каталог в терминах Windows — папка.Пространство, на котором работает пользователь в Windows и на котором размешаются все окна, называется рабочим столом. Фактически рабочий стол является окном программы Explorer — Проводник. На рабочем столе раскрывается главное меню, когда нажимается кнопка Пуск. В нижней части рабочего стола располагается панель задач.Многозада́чность (англ. multitasking) — свойство операционной системы или среды программирования обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.
Существует 2 типа многозадачности[1]:Процессная многозадачность (основанная на процессах — одновременно выполняющихся программах). Здесь программа — наименьший элемент кода, которым может управлять планировщик операционной системы. Более известна большинству пользователей (работа в текстовом редакторе и прослушивание музыки).Поточная многозадачность (основанная на потоках). Наименьший элемент управляемого кода — поток (одна программа может выполнять 2 и более задачи одновременно).Автоматическое управление памятью является одной из служб, которые предоставляет среда CLR во время управляемого выполнения. Сборщик мусора среды CLR управляет освобождением и выделением памяти для приложения. Для разработчиков это означает, что при разработке управляемого приложения не нужно писать код для управления памятью. Автоматическое управление памятью позволяет устранить распространенные проблемы, такие как не освобожденный по забывчивости объект, вызывающий утечку памяти, или попытки доступа к памяти для уже удаленного объекта. В этом разделе описано, каким образом сборщик мусора выделяет и освобождает память.