UIS_MakeContentFromString




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


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

Аргумент 1 - char *format


Строка, содержащая типы содержимого и типы выравнивания
Типы:
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 - текст снизу

Пример: MCq0s1Ns2p3
MCq0 - вывести строку по центру и середине
s1 - ресурс строки (обычно из ленга)
N - перейти на новую строчку
s2 - ресурс строки N2 (обычно из ленга)
p3 - ресурс картинки(обычно из дрм)

Внимание, не забывайте эту строку брать в кавычки, то есть "MCq0s1Ns2p3".

Аргумент 2 - CONTENT_T *dst


Указатель на CONTENT_T

Для начала, созданим собственно контент, то есь обьявляем его в начале функции

CONTENT_T        content;     //Название можно придумать любое

В функцию пишем:

&content

После выполнения UIS_MakeContentFromString в переменную content занесется собственно ваш контент.

Аргумент 3 -    ...


А что это за три точки, скорее всего спросите вы.
Это те данные, которые и будут в переменной content

Пишутся данные по порядку, в соответствии со строкой MCq0s1Ns2p3(например)

Первое что мы должны написать после &content это собственно WCHAR строку:

L"Hello world!"     //Вставляем что угодно

Дальше видим s1, значит надо сказать функции какую строку надо взять из ленга:

0x01000018    //0x0100 - обязательно вставлять для строковых ресурсов. 0018 - взята строка "уменьшить".

Далее идет s2, то же самое как мы делаем с s1:

0x01000572    //0x0100 - обязательно вставлять для строковых ресурсов. 0572 - взята строка "увеличить".

Следующим типом(p3) идет картинка, значит указываем на картинку из дрм:

0x120000D0    //0x1200 - обязательно вставлять для ресурса картинки. 00D0 - взята картинка кружки ява.

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



CONTENT_T    content;    //В начале функции

UIS_MakeContentFromString("MCq0s1Ns2p3", &content, L"Hello world!", 0x01000018, 0x01000572, 0x120000D0);    //Создаем контент

-------------------------------------------------------------------------------------------------------------------

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

Примечания

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