Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература_1 / photon_old.doc
Скачиваний:
38
Добавлен:
02.04.2015
Размер:
7.88 Mб
Скачать
      1. Функции базы данных виджетов

PhAB предлагает несколько вспомогательных функций, позволяющих Вам открыть базу данных виджетов и скопировать её виджеты в модули – Вы можете скопировать виджеты столько раз, сколько Вам понадобится. PhAB также предоставляет удобные функции, позволяющие Вам копировать виджеты между базами данных, создавать виджеты, удалять их, и сохранять базы данных виджетов.

ApOpenDBase(),

ApCloseDBase()

Они позволяют Вам открывать и закрывать базу данных виджетов. Чтобы сразу обеспечить доступность базы данных, обычно используется функция ApOpenDBase() в функции инициализации приложения.

ApOpenDBaseFile(), ApSaveDBaseFile()

Они позволяют Вам открыть и сохранить файл внешнего модуля как базу данных внутри Вашего приложения.

ApAddClass()

Эта функция позволяет Вам указать, с какими классами виджетов Вы, вероятно, столкнётесь, когда вызовите ApOpenDBaseFile(). При линковке Вашего приложения только те виджеты, которые Вам требуются, будут подлинкованы к Вашему приложению. Если Вы получаете доступ к виджетам, которых нет в Вашем приложении, поскольку они находятся во внешней базе данных, Вы должны добавить их ко внутренней таблице классов, так чтобы они подлинковались на этапе компилирования.

ApCreateDBWidget(), ApCreateDBWidgetFamily(), ApCreateWidget(), ApCreateWidgetFamily()

Они создают виджеты из базы данных виджетов. Функции ApCreateWidget() и ApCreateDBWidget() создают только один виджет, невзирая на класс виджета. Для виджета неконтейнерного класса функции ApCreateWidgetFamily() и ApCreateDBWidgetFamily() создают одиночный виджет; для виджета контейнерного класса они создают все виджеты внутри контейнера. Эти функции отличаются по родителю, используемому для виджетов:

  • Функции ApCreateDBWidget() и ApCreateDBWidgetFamily() используют аргумент parent; если он установлен в NULL, виджет не имеет родителя.

  • Функции CreateWidget() и ApCreateWidgetFamily() отдают новый виджет(ы) текущему родителю. Чтобы быть уверенным в правильности передачи виджета текущему родителю, перед вызовом любой из этих двух функций выполните вызов функции PtSetParentWidget().

 Не используйте декларации, генерируемые для модуля картинки базы данных виджетов. Вместо этого используйте указатели, возвращаемые функцией ApCreateWidget() или ApCreateDBWidget().

ApCopyDBWidget()

Позволяет Вам копировать виджет из одной базы данных виджетов в другую. Обычно Вы используете эту функцию только тогда, когда динамически создаёте или сохраняете базу данных виджетов внутри Вашего приложения.

ApDeleteDBWidget()

Удаляет виджет из базы данных виджетов

ApGetDBWidgetInfo()

Получает информацию о виджете в базе данных виджетов, включая его имя, класс, родителя и уровень иерархии.

ApGetImageRes()

Извлекает данные по ресурсам образа из виджета и использует эти данные для установки виджета, уже изображённого в Вашем приложении. Эта функция позволяет Вам добиться простейшей анимации.

 Если вы используете базу данных виджетов для создания виджетов, имеющих данные PhImage_t, прикреплённые к ним, не закрывайте базу данных функцией ApCloseDBase() до тех пор, пока эти виджеты не будут уничтожены. (Закрытие базы данных освобождает память, используемую для образа). Если Вы должны закрыть базу данных, убедитесь, что скопировали данные образа внутри программного кода Вашего приложения, и переустановите ресурс данных образа, так чтобы он указывал на Вашу новую копию.

ApGetTextRes()

Эта функция позволяет Вам извлекать текстовую строку из базы данных виджета. Это полезно для многоязычных приложений, когда текст автоматически переводится, если включена поддержка языка. Для получения более полной информации см. приложение "Поддержка международных языков".

ApRemoveClass()

Удаляет класс виджета. Если Вы загрузили DLL, которая определяет класс виджетов, Вы должны будете удалить их перед выгрузкой DLL. Для более полной информации см. раздел "Существование DLL в приложениях PhAB" главы "Генерация, компиляция и запуск программного кода на выполнение".

Для получения более полной информации о функциях баз данных виджетов см. "Справочник библиотечных функций Photon".

Соседние файлы в папке Литература_1