
- •1. Назначение, основные этапы развития операционных систем
- •2. Современные ос и их классификация
- •3. Основные принципы построения ос
- •4. Мультипрограммность и мультизадачность
- •1. Процесс, ресурс, свойства, классификация
- •2. Концепция виртуализации
- •3. Принципы построения интерфейсов операционных систем. Интерфейсы прикладного программирования
- •4. Концепция прерывания
- •1. Система управления процессами. Процессы, потоки.
- •2. Средства распределения ресурсов
- •3. Система распределения оперативной памяти. Контроль и распределение памяти в ms-dos
- •4. Алгоритм распределения памяти ms_dos
- •5. Блок управления памятью (mcb)
- •1. Файловая система. Концепция управления файлами
- •2. Текстовые файлы. Двоичный файлы
- •2. Создание файла и создание связи с файлом
- •3. Удаление файла и связи с файлом
- •4. Модификация файлов
- •5. Операции с файлами
- •6. Организация данных на внешних носителях. Внешняя память на дисках
- •7. Файловая система fat. Структура и расположение системной информации файловой системы.
- •8. Структура boot
- •9. Таблица расположения файлов fat
- •10. Структура корневого директория root
- •11. Структура директория
- •12. Алгоритм поиска расположения файлов на диске
- •13. Определение начального кластера расположения файла на диске
- •14. Расчет номеров цепочки кластеров расположения фала на диске
- •15. Методы доступа к информации на дисках
- •16. Изменение элементов таблиц fat и root при выполнении команд dos: copy, move, del, rename.
- •1. Общие сведения о механизме прерываний
- •1. Аппаратные прерывания
- •2. Программные прерывания
- •3. Таблица векторов прерываний
- •4. Перехват прерывания
- •5. Каскадная обработка прерывания
- •1. Загрузка и запуск программ ms dos
- •2. Заголовок *.Exe
- •3. Psp текущей задачи
- •4. Дочерние процессы и их запуск
- •5. Среда процесса, наследование среды
- •6. Системные управляющие блоки dos (таблица векторной связи)
- •7. Завершение процесса
- •1. Архитектура ос Windows. Функционирование и взаимосвязь модулей операционной системы
- •2. Понятие окна. Принципы организации графического пользовательского интерфейса.
- •3. Операции с объектом – окно
- •4. Событийное управление программами
- •5. Сообщение. Цикл обработки сообщений. Очередь сообщений.
- •6. Процедура обработки сообщений, ее формат и правила написания
- •7. Синхронные и асинхронные сообщения, их передача и обработка
- •8. Ввод данных с клавиатуры
- •9. Коды oem, ansi, ascii, виртуальные коды
- •10. Фокус ввода
- •11. Обработка сообщений мыши
- •12. Таймер. Программирование таймера
- •1. Графические устройства и их контекст
- •2. Атрибуты контекста устройств
- •3. Логическая и физическая система координат
- •4. Режимы преобразования координат
- •5. Объекты gdi. Создание и использование
- •6. Gdi и векторная модель рисования
- •7. Быстрая векторная графика
- •8. Шрифт. Классификация, параметры шрифта, установка в контексте устройства.
- •Структура logfont
- •9. Атрибуты контекста устройств, влияющие на вывод текста
- •10. Методы gdi вывода текста
- •11. Управление направлением, размером и расстоянием между символами
- •1. Создание процесса
- •2. Описатель процесса
- •3. Командная строка процесса
- •4. Среда процесса.
- •5. Наследование объектов ядра дочерним процессом.
- •6. Класс процесса.
- •7. Текущий директорий процесса.
- •8. Получение инф-ции о процессе
- •9. Окончание процесса
2. Атрибуты контекста устройств
Как уже говорилось выше, Windows использует контекст устройства для хранения атрибутов, определяющих поведение функций GDI при выводе. Например, когда вы выводите текст, используя функцию TextOut, вам не надо задавать цвет текста или шрифт. Windows использует контекст устройства для получения этой информации.
Когда программа запрашивает описатель контекста устройства, Windows создает контекст устройства со значениями всех атрибутов по умолчанию. Атрибуты контекста устройства приведены в следующей таблице. Программа может изменить или получить любой из этих атрибутов.
Атрибут контекста устройства |
Значение по умолчанию |
Функции для изменения |
Функции для получения |
Режим отображения (Mapping mode) |
MM_TEXT |
SetMapMode |
GetMapMode |
Начало координат окна (Window origin) |
(0,0) |
SetWindowOrgEx OffsetWindowOrgEx |
GetWindowOrgEx |
Начало координат области вывода (Viewport origin) |
(0,0) |
SetViewportOrgEx OffsetViewportOrgEx |
GetViewportOrgEx |
Протяженность окна (Window extent) |
(1,1) |
SetWindowExtEx SetMapMode ScaleWindowExtEx |
GetWindowExtEx |
Протяженность области вывода (Viewport extent) |
(1,1) |
SetViewportExtEx SetMapMode ScaleViewportExtEx |
GetViewportExtEx |
Перо (Pen) |
BLACK_PEN |
SelectObject |
SelectObject |
Кисть (Brush) |
WHITE_BRUSH |
SelectObject |
SelectObject |
Шрифт (Font) |
SYSTEM_FONT |
SelectObject |
SelectObject |
Битовый образ (Bitmap) |
Нет |
SelectObject |
SelectObject |
Текущая позиция пера (Current pen position) |
(0,0) |
MoveToEx LineTo PolylineTo PolyBezierTo |
GetCurrent-PositionEx |
Режим фона (Background mode) |
OPAQUE |
SetBkMode |
GetBkMode |
Цвет фона (Background color) |
Белый |
SetBkColor |
GetBkColor |
Цвет текста (Text color) |
Черный |
SetTextColor |
GetTextColor |
Режим рисования (Drawing mode) |
R2_COPYPEN |
SetROP2 |
GetROP2 |
Режим растяжения (Stretching mode) |
BLACKONWHITE |
SetStretchBltMode |
GetStretchBlt-Mode |
Режим закрашивания многоугольников (Polygon filling mode) |
ALTERNATE |
SetPolyFillMode |
GetPolyFillMode |
Межсимвольный интервал (Intercharacter spacing) |
0 |
SetTextCharacter-Extra |
GetTextCharac-terExtra |
Начало координат кисти (Brush origin) |
(0,0) в экранных координатах |
SetBrushOrgEx |
GetBrushOrgEx |
Область отсечения (Clipping region) |
Нет |
SelectObject SelectClipRgn IntersectClipRgn OffsetClipRgn ExcludeClipRgn SelectClipPath |
GetClipBox |