Cтраница 4
Далее функция OnOptionsFont создает объект контекста устройства, связанный с окном представления, выбирает в нем предварительно инициализированный объект шрифта и вызывает функцию CDC: : GetTextMetrics для получения информации о шрифте, фактически использующемся для отображения текста в окне. [46]
Конкретней, все вызовы, использующие контекст устройства по умолчанию, являются частью GDI. [47]
Кроме того, приложение может использовать контекст устройства для определения процесса графического вывода, прерывания длительных графических операций, начатых другим потоком многопоточного приложения, а также инициализировать принтер. [48]
Наконец, функция OnChar создает объект контекста устройства для окна представления и использует его для отображения всей строки, включая новый символ в конце. Даже если в окно просто добавляется последний символ, то заново отобразить строку проще, чем вычислять позицию последнего символа и выводить этот символ. Определение точного места символа в строке - сложная задача для шрифтов с переменным питчем или курсивных шрифтов. [49]
Выберите перо или кисть в объекте контекста устройства, сохраняя указатель на предыдущее перо или кисть. [50]
Библиотека MFC инкапсулирует классы различных типов контекстов устройств. [51]
Функция OnDraw принимает указатель на объект контекста устройства, являющийся экземпляром класса CDC библиотеки MFC. Объект контекста устройства связан с определенным устройством ( в WinGreet - с окном представления) и обеспечивает набор функций-членов для отображения выводимой информации на этом устройстве. Чтобы поместить строку в центре окна представления, эта функция вызывает функцию-член GetclientRect класса CWrid для получения текущих размеров окна представления. Объект контекста устройства и функция DrawText описаны в гл. [52]