это высокоуровневая AрI функция вывода
DrawText proto hdc:HDC, lpString:DWORD, nCount:DWORD, lpRect:DWORD, uFormat:DWORD
DrawText = это высокоуровневая AрI функция вывода текста. Она берет на себя такие вещи как перенос слов, центровка и т.п., так что вы можете сконцентрироваться на строке, которую вы хотите нарисовать. Ее низкоуровневый брат, TextOut, будет описан в следующем Урок е. DrawText подгоняет строку под прямоугольник. Она использует выбранный в настоящее время фонт, цвет и фон для отрисовки текста. Слова переносятся так, чтобы строка влезла в границы прямоугольника. DrawText возвращает высоту выводимого текста в единицах устройства, в нашем случае в пикселях. Давайте посмотрим на ее параметры:
hdc - хэндл контекста устройства lрString - указатель на строку, которую вы хотите нарисовать в прямоугольнике. Строка должна заканчиваться NULL'ом, или же вам придется указывать ее длину в следующем параметре, nCount. nCount - количество символов для вывода. Если строка заканчивается NULL'ом, nCount должен быть равен -1. В противоположном случае, nCount должен содержать количество символов в строке. lрRect - указатель на прямоугольник (структура типа RECT), в котором вы хотите рисовать строку. Заметьте, что прямоугольник ограничен, то есть вы не можете нарисовать строку за его пределами. uFormat - значение, определяющее как строка отображается в прямоугольнике. Мы используем три значения, скомбинированные оператором "or":
DT_SINGLELINE указывает, что текст будет располагаться в одну линию DT_CENTER центрирует текст по горизонтали DT_VCNTER центрирует тест по вертикали. Должен использоваться вместе с DT_SINGLELINE.
После того, как вы отрисовали клиентскую область, вы должны вызвать функцию EndPaint, чтобы освободить хэндл устройства контекста.
Вот и все. Мы можем указать главные идеи:
Вы вызываете связку BeginPaint-EndPaint в ответ на сообщение WM_PAINT. Делайте все, что вам нужно с клиентской областью между вызовами этих двух функций. Если вы хотите перерисовать вашу клиентскую область в ответе на другие сообщения, у вас есть два выбора:
Используйте связку GetDC-ReleaseDC и делайте отрисовку между вызовами этих функций. Вызовите Invalidaterect или UpdateWindow, чтобы Windows послала сообщение WM_PAINT вашему окну.
[C] Iczelion, пер. Aquila.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий