registerbgidriver
Функция Регистрирует загруженный пользователем или
встроенный код графического драйвера в графической
системе.
Синтаксис #include <graphics.h>
int registerbgidriver(void (*driver)(void));
Файл, содержащий graphics.h
прототип
Описание registerbgidriver позволяет пользователю загрузить
файл драйвера и "зарегистрировать" драйвер. Когда
его расположение в памяти будет сообщено
registerbgidriver, initgraph сможет использовать
зарегистрированный драйвер. Драйвер,
зарегистрированный пользователем, может быть
загружен с диска в динамическую область памяти,
либо преобразован в .OBJ-файл (с помощью
BINOBJ.EXE) и подключен к .EXE .
Вызов registerbgidriver информирует графическую
систему о том, что драйвер driver был включен во
время компоновки. Эта программа проверяет
связанный код для указанного драйвера. Если код
правильный, то она регистрирует код во встроенной
таблице. Связанные драйверы описываются подробно в
файле UTIL.DOC.
Используя имя встроенного драйвера в вызове
registerbgidriver, вы просите компилятор (и
редактор связей (linker)) встроить объектный файл
с общим именем.
Возвращаемое registerbgidriver возвращает отрицательный
значение код графической ошибки, если указанный драй-
вер или шрифт являются неверными. В противном
случае registerbgidriver возвращает номер
драйвера.
Если вы регистрируете драйвер созданный
пользователем, вы обязаны передать результат
выполнения registerbgidriver в initgraph в виде
номера драйвера, который будет использоваться.
Переносимость Эта функция уникальна для Borland C++. Она
работает только на компьютерах IBM PC и
совместимых с ними, оснащенных дисплейными
адаптерами, поддерживающими графический режим.
Функция не совместима с Windows.
Смотрите также graphresult, initgrsph, installuserdriver,
registerbgifont.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
/* зарегистрировать драйвер, добавленный в graphics.lib */
errorcode = registerbgidriver(EGAVGA_driver);
if(errorcode < 0) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* нарисовать линию */
line(0,0,getmaxx(),getmaxy());
/* очистка */
getch();
closegraph();
return 0;
}
|