|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Получение описателя контекста устройстваВ простейшем случае описатель контекста (контекст) может быть получен с помощью функций: HDC GetDC (HWND hwnd); HDC GetWindowDC (HWND hwnd); HDC GetDCEx (HWND hwnd, HRGN hrgnClip, DWORD dwFlags); Функции GetDC и GetDCEx возвращают контекст клиентской области окна (без заголовка, рамки и пр.). Контекст всего окна может быть получен с помощью функций GetWindowDC или GetDCEx с соответствующим флагом: DCX _ WINDOW – дать контекст всего окна, включая системную область; DCX _ PARENTCLIP – использовать видимую часть родительского окна; DCX _ CLIPCHILDREN – исключить подчиненные окна; DCX _ NORESETATTRS – не сбрасывать состояние контекста при его освобождении и т.д. При этом поведение функций зависит также от некоторых установок стиля оконного класса: CS _ CLASSDC – использовать единственный разделяемый контекст для всех окон данного класса; CS _ OWNDC – использовать собственный контекст для каждого экземпляра окна; CS _ PARENTDC – использовать контекст и регион отсечения родительского окна и т.д. Кроме получения контекста существующего окна можно создавать новые контексты, связанные с определенным устройством. Функции HDC CreateDC (LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutput, CONST DEVMODE* lpInitData); HDC CreateCompatibleDC (HDC hPrimDC); создают новый контекст, связанный с указанным устройством (CreateDC) или совместимым с известным контекстом (CreateCompatibleDC). Во втором случае если «образцовый» контекст не задан, то создается контекст в памяти (memory context), совместимый с текущими установками экрана. Возвращаемое значение – описатель контекста или NULL – в случае ошибки. Параметры: lpszDriver – может быть DISPLAY для контекстов, связанных с экраном, и NULL для всех других устройств; lpszDevice – логическое имя устройства в системе; lpszOutput – имя устройства в файловой системе (в Win 32 – NULL); lpInitData – указатель на структуру DEVMODE с инициирующими данными для устройства, NULL – настройки по умолчанию; hPrimDC – «образцовый» контекст, с которым будет совместим вновь создаваемый, если NULL – экран с текущими настройками. По окончании работы с контекстом он должен быть освобожден (закрыт). Для контекстов, полученных с помощью функций Get..., используется функция int ReleaseDC (HWND hwnd, HDC hdc); которая освобождает «общие» и оконные контексты. Для контекстов, созданных с помощью функций Create..., используется функция int DeleteDC (HDC hdc); возвращает 1 – при успешном завершении, 0 – при ошибке. Многие характеристики действующего контекста могут быть получены с помощью функции GetDeviceCaps (), принимающей в качестве аргумента описатель контекста и индекс (номер) интересующего параметра (описываются системными константами) и возвращающей значение этого параметра.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |