Получение одного ресурса
Если Вы получаете значение одного ресурса, проще использовать вместо функции PtGetResources() функцию PtGetResource(). Для функции PtGetResource() Вам нет необходимости устанавливать список аргументов. Аргументами PtGetResource() являются:
int PtGetResource (PtWidget_t *widget, long type, long value, long len);
widget – это указатель на виджет, ресурс которого мы получаем. Другие аргументы устанавливаются точно так же, как и в PtSetArg(), когда с использованием указательного метода получаете более одного ресурса.
Вот пример получения одного ресурса функцией PtGetResources() и указательного метода:
unsigned short *width;
PtArg_t arg;
PtSetArg( &arg, Pt_ARG_BEVEL_WIDTH, &width, 0 );
PtGetResources( widget, 1, &arg );
При использовании функции PtGetResource() код имеет такой вид:
unsigned short *width;
PtGetResource( widget, Pt_ARG_BEVEL_WIDTH, &width, 0 );
PtGetResource() возвращает указатель непосредственно во внутреннюю память виджета. Не пытайтесь модифицировать ресурс, напрямую используя этот указатель. Такая модификация не приведёт к ожидаемому эффекту и вызовет ошибки поведения виджета. Никогда не освобождайте указатель – результатом этого наверняка будет ошибка памяти или другая сходная ошибка. Использование указателя const поможет избежать таких проблем.
Изменение состояния виджета может сделать указатель потерявшим силу, используйте его сразу же.
Yandex.RTB R-A-252273-3
- Руководство программиста в Photon
- Перевод выполнен Владимиром Зайцевым, г.Харьков Редактирование текста выполнено Михаилом Поспеловым, г.Калуга
- Глава 1. Уроки 34
- Глава 2. Окружение PhAb 63
- Глава 3. Работа с приложениями 75
- Глава 4. Работа с модулями 83
- Глава 5. Создание виджетов в PhAb 98
- Глава 6. Редактирование ресурсов и ответных реакций в PhAb 114
- Глава 7. Управление геометрией 134
- Глава 8. Генерирование, компилирование и запуск программного кода на исполнение 146
- Глава 9. Работа с программным кодом 158
- Глава 10. Манипулирование ресурсами в коде приложения 175
- Глава 11. Управление виджетами в исходном коде приложения 186
- Глава 12. Поверхности управления 196
- Глава 13. Доступ к модулям PhAb из программного кода 202
- Глава 14. Поддержка международных языков 209
- Глава 15. Контекстно-чувствительная помощь 219
- Глава 16. Межпроцессные связи 224
- Глава 17. Параллельные операции 239
- Глава 18. Необработанное рисование и мультипликация 249
- Глава 19. Шрифты 286
- Глава 20. Печать 297
- Глава 21. "Тащить и бросать" 306
- Глава 22. Регионы 319
- Глава 23. События 328
- Глава 24. Управление окнами 340
- Глава 25. Программирование в Photon'е без PhAb'а 350
- Небольшое пояснение переводчика
- Введение
- Обзор архитектурыPhoton'а
- Построитель Photon'овских приложений – PhAb
- Получение немедленных результатов
- Концентрация на функциональности
- Создание прототипов без написания кода
- Сокращение размера кода
- Создание последовательных приложений
- Создание всех разновидностей приложений
- Концепции виджетов
- Жизненный цикл виджета
- Геометрия виджета
- Парадигма (система понятий) программирования
- Приложение текстового режима
- PhAb приложение
- БиблиотекиPhoton'а
- Обзор построения приложений подPhAb
- Шаг 1. Создание модулей
- Шаг 2. Добавление виджетов
- Шаг 3. Прикрепление ответных реакций
- Шаг 4. Генерация кода
- Шаг 5. Запуск Вашего приложения на выполнение
- Шаг 6. Повторение любого предыдущего шага
- Написание приложений без PhAb
- Глава 1. Уроки
- Перед тем как Вам начать...
- Урок 1 – Привет, мир
- Создание приложения
- Генерирование кода
- Хотите больше информации?
- Урок 2. Редактирование ресурсов
- Добавление виджета "Кнопка"
- Изменение ширины фаски
- Изменение шрифта
- Изменение выравнивания текста
- Установка флагов
- Изменение цвета заполнения
- Редактирование пиксельной карты
- Редактирование многострочного текста
- Редактирование списка текстовых параграфов
- Создание шаблона
- Желаете узнать побольше?
- Урок 3. Создание меню и панелей меню
- О присоединении ответных реакций
- Об именах экземпляров
- Создание панели меню
- Создание модуля меню "File"
- Добавление пунктов меню
- Создание модуля меню "Help"
- Присоединение ответных реакций
- Присоединение ответной реакции модульного типа
- Присоединение ответной реакции кодового типа
- Подготовка кода
- Хотите узнать больше?
- Урок 4. Создание диалогов
- О диалогах
- Ещё об именах экземпляров
- Прикрепление модуля диалога
- Добавление виджетов в диалог
- Добавление ответной реакции к кнопке Done
- Модификация сгенерированного кода функции
- Компиляция и запуск на выполнение
- Желаете узнать больше?
- Урок 5. Создание окон
- Создание окна
- Прикрепление ответной реакции
- Добавление виджетов
- Генерирование и модификация кода
- Генерирование кода
- Модификация функции установки
- Модификация функции изменения цвета
- Модификация функции закрытия окна
- Компиляция и запуск
- Хотите узнать больше?
- Глава 2. Окружение PhAb
- Меню "File"
- Меню "Edit"
- Меню "View"
- Меню "Options"
- Меню "Application"
- Меню "Window"
- Меню "Help"
- Панели инструментов
- Инструмент корректировки положения
- Панели управления
- Палитра виджетов
- Режимы (создание или выбор)
- Панель ответных реакций
- Панель дерева модулей
- Панель связей модуля
- Панель поиска
- Подгонка Вашего окружения PhAb
- Общие предпочтения ("General preferences")
- Предпочтение цвета ("Color preferences")
- Предпочтение по перетаскиванию (Dragging preferences)
- Предпочтения сетки
- Глава 3. Работа с приложениями
- Создание приложения
- Открытие приложения
- Сохранение приложения
- Именование и переименование приложения
- Сохранение существующего приложения
- Переписывание существующего приложения
- Закрытие приложения
- Задание стартовой информации приложения
- Задание глобального заголовочного файла
- Функция инициализации
- Опции командной строки
- Включение имён экземпляров
- Окна запуска
- Добавление окна запуска
- Модификация окна запуска
- Удаление окна запуска
- Импортирование файлов
- Импортирование модулей PhAb из других приложений
- Импортирование графических образов
- Глава 4. Работа с модулями
- Типы модулей
- Анатомия модуля
- Выбор модуля
- Как сохраняются модули
- Изменение ресурсов модуля
- Использование селектора модулей
- Создание нового модуля
- Просмотр модулей
- Открытие модулей
- Удаление модуля
- Сворачивание модулей в иконки
- Закрытие модуля
- Отображение модулей в реальном времени
- Позиционирование модуля
- Нахождение потерянных модулей и иконок
- Модули окон
- Изменение размера модуля окна
- Модули диалога
- Изменение размеров модуля диалога
- Предопределённые диалоги
- Модули меню
- Открытие редактора меню
- Задание имён экземпляров
- Создание "горячих клавиш" и "кнопок быстрого доступа" (hotkeys and shortcuts)
- Изменение размеров модуля меню
- Создание командных пунктов меню
- Создание пунктов подменю
- Создание разделителей пунктов
- Создание пунктов-переключателей
- Создание пунктов-функций
- Перемещение пунктов меню
- Использование модуля меню
- Модули картинок
- Отображение картинки
- Использование картинок как баз данных виджетов
- Изменение размера модуля картинки
- Модули иконок
- Задание размеров и имён экземпляров
- Глава 5. Создание виджетов в PhAb
- Типы виджетов
- Имена экземпляров
- Принимаемое по умолчанию имя экземпляра
- Когда назначать уникальное имя
- Имена экземпляров и переводы
- Дублированные имена
- Создание виджета
- Создание нескольких виджетов
- Несколько виджетов
- Использование охватывающего прямоугольника
- Использование панелей управления
- Виджеты внутри группы
- Использование панели "Module Tree"
- Использование кнопок "Следующая" и "Предыдущая"
- Скрытые виджеты
- Выравнивание виджетов
- По другому виджету
- По родительскому контейнеру
- Общепользовательский доступ (сиа) и управление фокусом
- Изменение фокусировки через клавиатуру
- Управление фокусом
- Ответные реакции фокусировки
- Функции обработки фокусировки
- Упорядочивание виджетов
- Перетаскивание виджетов
- Предустановки перетаскивания
- Установка координатxиyвиджетов
- Перемещение виджетов между контейнерами
- Изменение размеров виджетов и модулей
- Буфер обмена
- Вырезание и копирование
- Вклеивание
- Просмотр буфера обмена
- Редактирование буфера обмена
- Дублирование виджетов и контейнеров
- Удаление виджетов
- Импортирование графических файлов
- Изменение класса виджета
- Шаблоны
- Создание шаблонов
- Добавление подогнанного виджета
- Редактирование шаблонов
- Удаление шаблонов
- Глава 6. Редактирование ресурсов и ответных реакций в PhAb
- Редактирование ресурсов виджета
- Попиксельный редактор
- Установка размеров попиксельного образа
- Рисование линий, прямоугольников и кругов
- Заполнение замкнутой области
- Выбор области
- "Подталкивание" области
- Использование панели инструментов попиксельного образа
- Другие средства управления попиксельным образом
- Редактор цвета
- Полный редактор цвета
- Быстрый редактор цвета
- Редактор списка
- Редактирование существующих пунктов списка
- Удаление пунктов списка
- Редактор чисел
- Текстовые редакторы
- Редактор функций
- Ответные реакции
- Редактирование ответных реакций:
- Модульные ответные реакции
- Предреализационная установочная функция
- Постреализационная установочная функция
- Установочные функции хранятся в заготовочных файлах
- Ответные реакции кодового типа
- Функции ответных реакций хрянятся в заготовочных файлах
- Ответные реакции горячих клавиш
- Горячие клавиши – основы
- Задание метки горячей клавиши
- Задание ответной реакции
- Где должен появиться модуль
- Какой виджет Вам нужен в функции ответной реакции
- Куда идти пользователю, чтобы нажать горячую клавишу
- Обработка горячих клавиш
- Отключение горячих клавиш
- Обработчики событий – необработанные и отфильтрованные ответные реакции
- Глава 7. Управление геометрией
- Контейнер виджетов
- Согласование геометрии
- Политика изменения размеров
- Установка политики изменения размеров в PhAb
- Установка политики изменения размеров в программном коде приложения
- Абсолютное позиционирование
- Выравнивание виджетов с использованием групп
- Объединение виджетов в группу
- Получение доступа к виджетам в группе
- Горизонтальное или вертикальное выравнивание виджетов
- Использование флагов групп
- Расщепление группы на составляющие
- Управление привязкой с использованием анкеров – средств привязки
- Ресурсы анкеров
- Установка флагов анкеров в PhAb
- Установка флагов анкеров в программном коде Вашего приложения
- Установка ограничений по размерам или позиционированию без анкеров
- Глава 8. Генерирование, компилирование и запуск программного кода на исполнение
- Генерирование программного кода приложения
- Что генерирует PhAb
- Управление версиями
- Некоторые рекомендации по использованию cvs
- Прототипы функций
- Потенциальные проблемы с генерированием proto.H
- Как организовать файлы приложения
- Многоплатформенные приложения
- Одноплатформенные приложения
- Преобразование к мультиплатформенности
- Редактирование исходного кода
- Выбор редактора или броузера
- Создание модуля с исходным кодом
- Изменение отображения файлов
- Компилирование и линковка
- Выбор библиотек
- Запуск команды make
- Модифицирование команды make
- Запуск приложения на исполнение
- Отладка
- Модифицирование команды отладчика
- Включение в Ваше приложение не-PhABфайлов
- Мультиплатформенные приложения
- Одноплатформенные приложения
- Добавление библиотек
- Создание результирующей dll как приложения PhAb
- Компилирование и линковка
- Инициализация dll
- Выгрузка Вашей dll
- Глава 9. Работа с программным кодом
- Переменные и декларации
- Переменные и декларации виджетов
- Использование глобальной переменной и декларация виджета
- Обработка множества экземпляров окна
- Декларация внутренних связей
- Декларации иконок
- Глобальный хеадер-файл
- Имена функций и имена файлов
- Функция инициализации
- Обработка опций командной строки
- Установочные функции модуля
- Функции ответных реакций кодового типа
- Типы данных геометрии
- Таймеры
- Использование PtTimer
- Функции RtTimer*
- Меню инициализации
- Включение, отключение или переключение пунктов меню
- Изменение текста пунктов меню
- Генерирование пунктов меню
- Создание подменю
- Задержка и принудительное обновление изображения на экране
- Глобально
- Для конкретного контейнера
- Принудительное обновление
- Глава 10. Манипулирование ресурсами в коде приложения
- Список аргументов
- Установка ресурсов
- Списки аргументов для установки ресурсов
- Ресурсы scalar и color
- Ресурсы string
- Ресурсы alloc
- Ресурсы image
- Ресурсы array
- Ресурсы flag
- Ресурсы function
- Ресурсы pointer
- Ресурсы Link
- Ресурсы struct
- Ресурсы boolean
- Вызов PtSetResources()
- Установка одного ресурса
- Получение ресурсов
- Не используя указатели
- Ресурсы scalar и flags (безуказательный метод)
- Ресурс string (безуказательный метод)
- Ресурс boolean (безуказательный метод)
- Использование указателей
- Ресурсы scalar и flag (указательный метод)
- Ресурсы string (указательный метод)
- Ресурсы alloc (указательный метод)
- Ресурсы image (указательный метод)
- Ресурсы array (указательный метод)
- Ресурсы pointer (указательный метод)
- Ресурсы link (указательный метод)
- Ресурсы struct (указательный метод)
- Ресурсы boolean (указательный метод)
- Вызов функции PtGetResources()
- Получение одного ресурса
- Глава 11. Управление виджетами в исходном коде приложения
- Создание виджетов
- Задание порядка виджетов
- Работа с семейством виджетов
- Ответные реакции
- Добавление ответных реакций
- Вызов ответной реакции
- Удаление ответных реакций
- Просмотр ответных реакций
- Обработчики событий
- Добавление обработчиков событий
- Удаление обработчиков событий
- Запуск обработчика событий
- Стили виджетов
- Глава 12. Поверхности управления
- Что такое поверхности управления?
- Ограничения
- Привязка действий к поверхностям управления
- Ссылка на поверхности управления
- ApIповерхностей управления
- Создание и уничтожение поверхностей управления
- Нахождения идентификаторов для поверхностей управления
- Вычисление геометрии для поверхностей управления
- Прорисовка поверхностей управления
- Активация поверхностей управления
- Включение и отключение поверхностей управления
- Нахождение поверхностей управления
- Скрытие и демонстрирование поверхностей управления
- Установление порядка поверхностей управления
- Размещение пользовательских данных вместе с поверхностями управления
- Глава 13. Доступ к модулям PhAb из программного кода
- Создание внутренних связей
- Использование внутренних связей в Вашем программном коде
- Декларации
- Функции внутренней связи
- Пример – отображение меню
- Использование базы данных виджетов
- Создание базы данных
- Предварительно прикреплённые ответные реакции
- Назначение уникального имени экземпляра
- Создание динамической базы данных
- Функции базы данных виджетов
- Глава 14. Поддержка международных языков
- Соображения о проектировании приложения
- Размер виджетов, основанных на тексте
- Выравнивание
- Высота шрифта
- Жёстко закодированные строки
- Использование символа "@" в именах экземпляров
- Двуязычные приложения
- Общие строки
- Генерация языковой базы данных
- Базы данных сообщений
- Редактор языка
- Запуск языкового редактора из PhAb
- Запуск языкового редактора как автономного приложения
- Создание нового файла перевода
- Редактирование существующего файла перевода
- Перевод текста
- Горячие клавиши
- Ресурсы help'a
- Функции перевода
- Запуск Вашего приложения на исполнение
- Распространение Вашего приложения
- Глава 15. Контекстно-чувствительная помощь
- Создание текста помощи
- Файлы помощи
- Файлы таблиц содержания
- Ссылки на темы помощи
- Унифицированный указатель информационного ресурса (url)
- Маршрут тем
- Связывание помощи с виджетами
- Отображение помощи в просмотрщике помощи
- Отображение помощи во всплывающем баллоне
- Помощь без иконки "?"
- Получение доступа к помощи из Вашего программного кода
- Глава 16. Межпроцессные связи
- Коннекции
- Создание коннектора
- Асинхронные клиентские вызовы
- Соглашения по именам
- ОтсылкаQnx-сообщений
- Приём qnx-сообщений
- Добавление обработчика ввода
- Функции name_attach и PtAppAddInput()
- Удаление обработчика ввода
- Размер буфера сообщений
- Пример – регистрация сообщений об ошибках
- ИмпульсыPhoton'а
- Приложение Photon'а, получающее импульсы
- Создание импульса
- Взведение импульса
- Пересылка сообщения импульса испускателю импульсов
- Регистрация обработчика ввода
- Посылка импульса самому себе
- Удаление импульса
- Пример – очередь сообщений
- Приложение Photon, отправляющее импульсы
- Обработка сигналов
- Добавление функции обработки сигналов
- Удаление функции обработки сигналов
- Другие механизмы ввода/вывода
- Глава 17. Параллельные операции
- Фоновое исполнение
- Рабочие процедуры
- Запирание библиотеки Photon'а
- Несколько потоков, обрабатывающих события
- Потоки реального времени
- Модальные операции и потоки
- Завершение многопоточной программы
- Потоки и рабочие процедуры
- Глава 18. Необработанное рисование и мультипликация
- ВиджетPtRaw
- Функция необработанного рисования
- Определение холста необработанного виджета
- Преобразование координат
- Отсечение
- Использование повреждённых черепиц (tiles)
- Использование модели для более сложного рисования
- Примеры простых функций прорисовки PtRaw
- Атрибуты рисования
- Общие атрибуты
- Текстовые атрибуты
- Атрибуты заполнения
- Атрибуты черты (линии)
- Дуги, эллипсы, многоугольники и прямоугольники
- Прямоугольники
- Прямоугольники со скруглёнными углами
- Прямоугольники с фасками, прямоугольники и стрелки
- Многоугольники
- Перекрытие многоугольников
- Дуги, круги, хорды и сектора
- Спэны – сложные кривые
- Линии, пиксели и массивы пикселей
- Побитовые образы (bitmaps)
- Образы (images)
- Образы на основе палитры
- Образы в непосредственных цветах
- Образы в градиентных цветах
- Создание образов
- Кэширование образов
- Прозрачность в образах
- Использование хромоключа
- Использование маски прозрачности
- Отображение образов
- Управление образами
- Освобождение образов
- Мультипликация
- Создание серии кадров
- Использование базы данных виджетов
- Использование файла
- Циклическая прокрутка кадров
- Исключение мерцания в мультипликации
- Функции контекста памяти
- Режим рисования с прямым доступом
- Внеэкранная видеопамять
- Внеэкранные замки
- Поддержка альфа-сопряжения
- Поддержка хроматического ключа
- Операции расширенного растра
- Видеорежимы
- Градиенты
- Градиенты уровня драйвера
- Градиенты уровня приложения
- Видеоверлей
- Поверхности
- Окна просмотра
- Api слоев
- Глава 19. Шрифты
- Метрики символа
- Имена шрифтов
- Запрос доступных шрифтов
- Структура FontDetails
- Генерирование имён шрифтов
- Написание текста в прямоугольной области
- Исправление повреждений в случае пропорционального шрифта текста
- Глава 20. Печать
- Контекст печати
- Создание контекста печати
- Модифицирование контекста печати
- Запуск процесса печати
- Печать требуемых виджетов
- Печать новой страницы
- Печать скроллирующихся виджетов
- Приостановка и возобновление работы печати
- Завершение работы печати
- Освобождение контекста печати
- Глава 21. "Тащить и бросать"
- Механизм транспортировки
- Использование "тащи и бросай"
- Запуск операции "тащи и бросай"
- Получение событий "тащи и бросай"
- Виджет-источник
- Виджет-адресат
- Отмена операции "тащи и бросай"
- Регистрация новых транспортных типов
- Простая структура данных
- Более сложная структура
- Список ссылок на очистку
- Эндиан-список
- Fixup-список
- Элемент реестра
- Транспортные функции
- Оба приложения
- Приложение-источник
- Приложение-адресат
- Глава 22. Регионы
- Координатное пространствоPhoton'а
- Координаты региона
- Начало координат региона
- Начальные размеры и расположение
- Начало координат в (0,0) и начальный прямоугольник в (0,0)
- Начало координат в (0,0) и начальный прямоугольник не в (0,0)
- Начало координат не в (0,0) и начальный прямоугольник не в (0,0)
- О регионах потомка
- Регионы и отсечение событий
- Месторасположение и иерархия Иерархия регионов:
- Родительский регион
- Братские регионы
- Месторасположение по умолчанию
- ФлагPh_force_front
- Задаваемое месторасположение
- Использование регионов
- Открытие региона
- Размещение регионов
- Изменение месторасположения региона
- Изменение родителя
- Задаваемые братья
- Системная информация
- Глава 23. События
- События мыши
- Нажатие кнопки
- Отпускание кнопки
- Несколько щелчков
- Клавиши-модификаторы
- Генерирование событий
- Нацеливание на определённые регионы
- Неисключительное событие
- Направленное событие
- Нацеливание на определённые виджеты
- События, генерируемые клавиатурными клавишами
- Координаты события
- Обработчики события – необработанные и отфильтрованные ответные реакции
- Накопление событий
- Сжатие событий
- Перетаскивание
- Инициализация перетаскивания
- Контурное перетаскивание
- Непрозрачное перетаскивание
- Обработка событий перетаскивания
- Контурное перетаскивание
- Непрозрачное перетаскивание
- Глава 24. Управление окнами
- Флаги управления окнами
- Флаги отображения окна
- Флаги управления окном
- Оконные флаги уведомления
- Ответная реакция уведомления
- Пример: проверка закрытия окна
- Получение и установка состояния окна
- Управление несколькими окнами
- Функции управления окнами
- Запуск самостоятельного приложения
- Модальные диалоги
- Глава 25. Программирование в Photon'е без PhAb'а
- Основные шаги
- Компилирование и линковка неPhAb'овского приложения
- Образец приложения
- Что происходит
- PtCreateWidget() – первый вызов
- PtCreateWidget() – второй вызов
- Подсоединение программного кода приложения к виджету
- Ответные реакции
- Обработка событий
- Полный пример приложения
- Приложение 1. Архитектура Photon'а
- Пространство событий
- Регионы и события
- События
- Начальный набор прямоугольников
- Накопленный набор прямоугольников
- Регионы
- Чувствительность
- Непрозрачность
- Краткая сводка атрибутов
- Регистрация событий (event logging)
- Типы событий
- Как владельцы регионов уведомляются о событиях
- Упорядоченный опрос
- Синхронное уведомление
- Асинхронное уведомление
- Регион устройств
- Фокусировка указателя
- Фокусировка клавиатуры
- События перетаскивания
- Событие "тащи и бросай"
- Драйверы фотона
- Драйверы ввода
- Драйвер мыши
- Драйвер клавиатуры
- Драйверы вывода
- Графический драйвер
- Несколько графических драйверов
- Драйверы, использующие отдельные регионы
- Драйверы, использующие перекрывающиеся регионы
- Инкапсуляция драйверов
- Оконный менеджерPhoton'а
- Регионы оконных рамок
- Регион фокусировки
- Регион рабочей области
- Регион фона
- Приложение 2. Обзор виджетов
- Приложение 3. Поддержка многоязычности Unicode
- Широкие и многобайтовые символы
- Функции преобразования
- Другие кодировки
- Драйверы клавиатуры
- Пример: текстовые виджеты
- Слепые клавиши (deadkeys) и скомпонованные последовательности
- Скомпонованные последовательностиPhoton'а
- Приложение 4. Photon во встроенных системах
- Принимаемые допущения
- Введение
- Шаги по загрузке Photon'а
- Шаг 1. Экспорт переменной окруженияPhoton_path
- Шаг 2. Запуск сервераPhoton'а
- Шаг 3. Запуск драйверов ввода
- Шаг 4. Запуск менеджера шрифтов
- Конфигурирование шрифтов
- Запуск сервера шрифтов
- Шаг 5. Переключение в графический режим
- Установка карты в правильный режим
- Шаг 6. Запуск графического драйвера
- Шаг 7. Запуск оконного менеджера
- Необходимые файлы
- Графика
- Требуемые бинарные файлы
- Требующиеся библиотеки
- Требуемые шрифты
- Службы шрифтов
- Сборка всего этого в единое целое
- Полезные советы
- Приложение 5. Использование PhAb под Microsoft Windows
- Photonв одиночном окне
- ЗавершениеPhAb
- Дополнительные опции
- Файловые имена с буквами в обоих регистрах
- Строка запуска отладчика
- Функциональность панели управления ресурсами
- Разработка индивидуальных виджетов иPhAb
- Статическое линкование Ваших индивидуальных виджетов
- Глоссарий
- Ненеобходимое послесловие переводчика.