Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
          1. Ресурсы scalar и flag (указательный метод)

Если Вы получаете скалярный ресурс или ресурс флага, используя метод указателя:

  • Аргумент value в PtSetArg() является адресом указателя на соответствующий тип языка С.

  • len не используется.

Когда вызывается функция PtGetResources(), указатель для этого ресурса устанавливается указывающим на внутреннее хранилище виджета.

Вот некоторые функции, которые получают ресурс scalar или flag, используя метод указателя:

unsigned long getlong( PtWidget_t *widget, long type ) {

/* Получение long или long флагов */

PtArg_t arg; unsigned long const *result;

PtSetArg( &arg, type, &result, 0 );

PtGetResources( widget, 1, &arg );

return *result;

}

unsigned getshort( PtWidget_t *widget, long type ) {

/* Получение short или short флагов */

PtArg_t arg; unsigned short const *result;

PtSetArg( &arg, type, &result, 0 );

PtGetResources( widget, 1, &arg );

return *result;

}

unsigned getbyte( PtWidget_t *widget, long type ) {

/* Получение char или char флагов */

PtArg_t arg; unsigned char const *result;

PtSetArg( &arg, type, &result, 0 );

PtGetResources( widget, 1, &arg );

return *result;

}

          1. Ресурсы string (указательный метод)

Если Вы получаете строковые ресурсы, используя метод указателя:

  • Аргумент value в PtSetArg() является адресом указателя на char

  • len не используется.

Когда вызывается PtGetResources(), задаваемый указатель для строкового ресурса устанавливается указывающим на внутреннее хранилище виджета. Например:

const char *getstr1( PtWidget_t *widget, long type ) {

PtArg_t arg; const char *str;

PtSetArg( &arg, type, &str, 0 );

PtGetResources( widget, 1, &arg );

return str;

}

          1. Ресурсы alloc (указательный метод)

Если Вы получаете ресурс размещения, используя метод указателя:

  • Аргумент value в PtSetArg() является адресом соответствующего типа (тип определяется по данным, отдаваемым виджету при его установке)

  • len не используется.

Когда вызывается PtGetResources(), задаваемый указатель устанавливается указывающим на внутренние данные виджета.

          1. Ресурсы image (указательный метод)

Если Вы получаете ресурсы образа, используя метод указателя:

  • Аргумент value в PtSetArg() является адресом указателя на структуру типа PhImage_t

  • len не используется.

Когда вызывается PtGetResources(), задаваемый указатель устанавливается указывающим на внутренние данные виджета.

          1. Ресурсы array (указательный метод)

Если Вы получаете ресурсы массива, используя метод указателя:

  • Аргумент value в PtSetArg() является адресом указателя соответствующего типа языка С (первый из двух типов языка С, данный в таблице "Новые ресурсы").

  • len является адресом указателя на данный второй тип языка С.

Когда вызывается PtGetResources():

  • Указатель, задаваемый в value, устанавливается указывающим на начало массива во внутреннем хранилище виджета.

  • Указатель, задаваемый в len, устанавливается указывающим на счётчик элементов массива во внутреннем хранилище виджета.

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