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

Помните, что есть два шага, связанные с установкой значений более чем одного ресурса:

  • Установка списка аргументов с использованием макроса PtSetArg()

  • Установка значения с использованием функции PtSetResources().

Если Вы устанавливаете один ресурс, проще использовать PtSetResource() – Вам нет нужды устанавливать список аргументов. См. раздел "Установка одного ресурса" ниже.

          1. Списки аргументов для установки ресурсов

Многие нижеследующие разделы демонстрируют установку неких ресурсов для виджета PtComboBox. Заметьте, что Вы можете установить одновременно более одного ресурса. Чтобы сделать это, определите список аргументов соответствующей длины:

PtArg_t args[5];

После инициализации списка аргументов, Вы фактически установили ресурсы.

          1. Ресурсы scalar и color

При установке скалярного ресурса Вы задаёте значение как третий аргумент в PtSetArg(). Четвёртый аргумент не используется и должен быть установлен в 0. Например, чтобы установить ширину фаски в виджете типа "combo box", передайте новое значение как третий аргумент:

PtSetArg(&args[0], Pt_ARG_BEVEL_WIDTH, 5, 0);

Когда Вы вызываете PtSetResources(), виджет копирует скалярное значение в свою собственную внутреннююю структуру данных.

          1. Ресурсы string

Установка строкового значения схожа с установкой скалярного; Вы задаёте строку как третий аргумент макроса PtSetArg(). Четвёртый аргумент – это число копируемых байт; если он равен 0, для определения длины строки используется strlen().

Например, чтобы установить текст по умолчанию для виджета типа "combo box", Вы должны задать значение ресурса Pt_ARG_TEXT_STRING в элементе под номером один списка аргументов:

PtSetArg(&args[1], Pt_ARG_TEXT_STRING, "Rectangle", 0);

Когда Вы вызываете PtSetResources(), виджет копирует строку в свою собственную внутреннюю структуру данных. Если Вам необходимо использовать международные (не-ASCII) символы в строке [читай – русский текст. Прим. пер.], следуйте одним из этих решений:

  • Определите строку в базе данных виджетов и используйте редактор языка для перевода строки. См. главу "Поддержка международных языков".

  • Используйте ped или иной UTF-совместимый текстовый редактор, чтобы отредактировать код С приложения. Вы можете затем использовать формирующие последовательности, описанные в разделе "Формирующие последовательности Photon'a" приложения "Поддержка многоязычности Unicode".

 Большинство консольных редакторов, таких как elvis и vedit, не являются UTF-совместимыми. Для получения более подробной информации по редактору ped см. книгу "Справочник утилит QNX6".

  • Разыщите требуемый символ в <photon/PkKeyDef.h>, используйте wctomb(), чтобы конвертировать символ из Unicode в UTF-8, и затем впишите шестнадцатиричный код в Вашу строку. Например, французское слово "rèsumè" будет закодировано как "r\xC3\xA9sum\xC3\xA9" – тяжело для чтения, но зато работает со всеми редакторами. Для получения более полной информации по Unicode и UTF-8 см. приложение "Поддержка многоязычности Unicode".

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