Открыть главное меню

UIS MakeContentFromString

Версия от 21:51, 18 августа 2009; Andy51 (обсуждение | вклад) (Добавил в категорию)

UINT32 UIS_MakeContentFromString( char *format, CONTENT_T *dst, ... );

Содержание

Описание

Эта функция создает контент - содержимое, который необходим практически для всех UIS функций.

Параметры

  • char *format
Строка, содержащая типы содержимого и типы выравнивания
Например: MCq0s1Ns2p3
MCq0 - вывести строку по центру и середине
s1 - ресурс строки (обычно из ленга)
N - перейти на новую строчку
s2 - ресурс строки №2 (обычно из ленга)
p3 - ресурс картинки (обычно из DRM)
Внимание!
Не забывайте эту строку брать в кавычки, то есть "MCq0s1Ns2p3"
  • CONTENT_T *dst
Указатель на CONTENT_T, возвращающий результат
// Для начала, созданим собственно контент, то есть обьявляем его в начале функции
CONTENT_T content; //Название можно придумать любое
// В функцию пишем:
&content
// После выполнения UIS_MakeContentFromString в переменную content занесется собственно ваш контент.
  • ...
"А что это за три точки?",- скорее всего спросите вы.
А это те данные, которые и будут помещены в content.
Пишутся данные по порядку, в соответствии со строкой MCq0s1Ns2p3 (например)
// Первое, что мы должны написать после &content - это собственно WCHAR строку:
L"Hello world!" //Вставляем что угодно
// Дальше видим s1, значит надо сказать функции какую строку надо взять из ленга:
0x01000018 //0x0100 - обязательно вставлять для строковых ресурсов. 0018 - взята строка "уменьшить".
// Далее идет s2, то же самое как мы делаем с s1:
0x01000572 //0x0100 - обязательно вставлять для строковых ресурсов. 0572 - взята строка "увеличить".
// Следующим типом(p3) идет картинка, значит указываем на картинку из дрм:
0x120000D0 //0x1200 - обязательно вставлять для ресурса картинки. 00D0 - взята картинка кружки ява.

Типы содержимого

  • a - анимация
  • d - дата
  • q - указатель на WCHAR строку
  • s - ресурс строки
  • i - int
  • j - LIST_IMAGE_ELEMENT_T
  • l - long
  • g - hex int
  • p - ресурс картинки
  • r - CONTENT_T
  • f - указатель на файл
  • t - время

Типы выравнивания

  • N - новая строка
  • S - распределение текста
  • C - текст по центру
  • L - обрезать с "...", если строка слишком длинная
  • M - текст посередине (вертикальное выравнивание)
  • T - текст сверху
  • B - текст снизу


Пример

Теперь собстна надо написать пример использования самой функции

CONTENT_T content; //В начале функции
UIS_MakeContentFromString("MCq0s1Ns2p3", &content, L"Hello world!", 0x01000018, 0x01000572, 0x120000D0); //Создаем контент

Вот и все. Контент который создала функция UIS_MakeContentFromString Вы можете использовать для разных диалогов, например UIS_CreateTransientNotice, UIS_CreateViewer и т.д.


Примечания

  • Если в WCHAR написать кирилицу - будут кракозябры
Совет!

Это замечание уже не действительно при хотябы одном из следующих условий:

  1. У Вас стоит "исправленный" LangPack
  2. Вы используете ElfPack2
Внимание!
Если берете картинку из DRM, не забывайте её номер перевести в hex
Большое спасибо lavmen за столь подробное описание!