Функция GetStockObject

Declare Function GetStockObject Lib "gdi32" (ByVal nIndex As Long) As Long

GetStockObject возвращает дескриптор пера, кисти, шрифта или палитры, к которым функция обращается. Эта функция обеспечивает быстрый доступ к этим объектам, вместо необходимости использовать более сложные функции. Хотя обычно не требуется удалять дескриптор, используя DeleteObject, тем не менее это не имеет никаких неблагоприятных эффектов

Параметры

nIndex
Флаги, определяющие объект для создания дескриптора
ANSI_FIXED_FONT = 11Системный нормальный моноширный шрифт
ANSI_VAR_FONT = 12Системный нормальный пропорциональный шрифт
BLACK_BRUSH = 4Сплошная черная кисть
BLACK_PEN = 7Сплошное черное перо
DEFAULT_GUI_FONT = 17только для Win 95/98: Заданный по умолчанию шрифт для пользователя
DEFAULT_PALETTE = 15Заданная по умолчанию системная палитра
DEVICE_DEFAULT_FONT = 14только для Win NT: Аппаратно-зависимый шрифт
DKGRAY_BRUSH = 3Сплошная темно-серая кисть
GRAY_BRUSH = 2Сплошная серая кисть
HOLLOW_BRUSH = 5Аналогично NULL_BRUSH
LTGRAY_BRUSH = 1Сплошная светло-серая кисть
NULL_BRUSH = 5Пустая кисть; то есть, кисть, которая ничего не рисует на устройстве
NULL_PEN = 8Пустое перо; то есть, перо, которое ничего не рисует на устройстве
OEM_FIXED_FONT = 10Заданный по умолчанию OEM-шрифт фиксированной ширины
SYSTEM_FIXED_FONT = 16Системный шрифт фиксированной ширины для ранних версий Windows
SYSTEM_FONT = 13Системный шрифт (используемый для большинства объектов в Windows)
WHITE_BRUSH = 0Сплошная белая кисть
WHITE_PEN = 6Сплошное белое перо

Пример

' Рисуем прямоугольник с черной окантовкой
' и заполненный белым цветом
' на Form1, используя перо и кисть
Dim hbrush As Long, holdbrush As Long  ' дескрипторы к кистям
Dim hpen As Long, holdpen As Long ' дескрипторы к перьям
Dim lRet As Long ' возвращаемое значение

' Загружаем перо и кисть, необходимые для примера
hpen = GetStockObject(BLACK_PEN) ' черное сплошное перо
hbrush = GetStockObject(WHITE_BRUSH) ' белая сплошная кисть
' Выбираем два объекта Form1 и сохраняем их
holdpen = SelectObject(Form1.hDC, hpen)  ' перо
holdbrush = SelectObject(Form1.hDC, hbrush) ' кисть
' Рисуем прямоугольник с помощью пера и кисти
' с координатами (20,25)-(200,175)
lRet = Rectangle(Form1.hDC, 20, 25, 200, 175)
' Восстанавливаем прежние перо и кисть для Form1
lRet = SelectObject(Form1.hDC, holdpen)
lRet = SelectObject(Form1.hDC, holdbrush)

Категория

Устройства