161
правкаИзменения
Нет описания правки
UINT32 '''UIS_MakeContentFromString'''( char *format, CONTENT_T *dst, ... );
== Описание ==
Эта функция создает [[Content|контент]] - содержимое, который необходим практически для всех [[UIS]] функций.
== Параметры ==
*;char *format
:Строка, содержащая [[#Типы содержимого|типы содержимого]] и [[#Типы выравнивания|типы выравнивания]]<br>
:Например: '''MCq0s1Ns2p3'''
::'''MCq0''' - вывести строку по центру и середине
::'''s1''' - ресурс строки (обычно из [[Языковой пакет|ленга]])
::'''N''' - перейти на новую строчку
::'''s2''' - ресурс строки №2 (обычно из [[Языковой пакет|ленга]])
::'''p3''' - ресурс картинки (обычно из [[DRM]])
{{Внимание|msg=Не забывайте эту строку брать в кавычки, то есть "MCq0s1Ns2p3"}}
*;CONTENT_T *dst
:Указатель на [[Content|CONTENT_T]], возвращающий результат
<pre>
// Для начала, созданим собственно контент, то есть обьявляем его в начале функции
CONTENT_T content; //Название можно придумать любое
// В функцию пишем:
&content
// После выполнения UIS_MakeContentFromString в переменную content занесется собственно ваш контент.
</pre>
*;...
:"А что это за три точки?",- скорее всего спросите вы.
:А это те данные, которые и будут помещены в content.
:Пишутся данные по порядку, в соответствии со строкой '''MCq0s1Ns2p3''' (например)
<pre>
// Первое, что мы должны написать после &content - это собственно WCHAR строку:
L"Hello world!" //Вставляем что угодно
// Дальше видим s1, значит надо сказать функции какую строку надо взять из ленга:
0x01000018 //0x0100 - обязательно вставлять для строковых ресурсов. 0018 - взята строка "уменьшить".
// Далее идет s2, то же самое как мы делаем с s1:
0x01000572 //0x0100 - обязательно вставлять для строковых ресурсов. 0572 - взята строка "увеличить".
// Следующим типом(p3) идет картинка, значит указываем на картинку из дрм:
0x120000D0 //0x1200 - обязательно вставлять для ресурса картинки. 00D0 - взята картинка кружки ява.
</pre>
=== Типы содержимого ===
* '''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''' - текст снизу
<br>
== Пример ==
Теперь собстна надо написать пример использования самой функции
<pre>
CONTENT_T content; //В начале функции
UIS_MakeContentFromString("MCq0s1Ns2p3", &content, L"Hello world!", 0x01000018, 0x01000572, 0x120000D0); //Создаем контент
</pre>
Вот и все. Контент который создала функция UIS_MakeContentFromString Вы можете использовать для разных диалогов, например [[UIS_CreateTransientNotice]], [[UIS_CreateViewer]] и т.д.
<br>
== Примечания ==
* Если в WCHAR написать кирилицу - будут кракозябры
{{Совет|Это замечание уже не действительно при хотябы одном из следующих условий:
# У Вас стоит "исправленный" [[Языковой пакет|LangPack]]
# Вы используете [[Elfpack|ElfPack2]]}}
{{Внимание|msg=Если берете картинку из [[DRM]], не забывайте её номер перевести в hex}}
;Большое спасибо lavmen за столь подробное описание!
== Описание ==
Эта функция создает [[Content|контент]] - содержимое, который необходим практически для всех [[UIS]] функций.
== Параметры ==
*;char *format
:Строка, содержащая [[#Типы содержимого|типы содержимого]] и [[#Типы выравнивания|типы выравнивания]]<br>
:Например: '''MCq0s1Ns2p3'''
::'''MCq0''' - вывести строку по центру и середине
::'''s1''' - ресурс строки (обычно из [[Языковой пакет|ленга]])
::'''N''' - перейти на новую строчку
::'''s2''' - ресурс строки №2 (обычно из [[Языковой пакет|ленга]])
::'''p3''' - ресурс картинки (обычно из [[DRM]])
{{Внимание|msg=Не забывайте эту строку брать в кавычки, то есть "MCq0s1Ns2p3"}}
*;CONTENT_T *dst
:Указатель на [[Content|CONTENT_T]], возвращающий результат
<pre>
// Для начала, созданим собственно контент, то есть обьявляем его в начале функции
CONTENT_T content; //Название можно придумать любое
// В функцию пишем:
&content
// После выполнения UIS_MakeContentFromString в переменную content занесется собственно ваш контент.
</pre>
*;...
:"А что это за три точки?",- скорее всего спросите вы.
:А это те данные, которые и будут помещены в content.
:Пишутся данные по порядку, в соответствии со строкой '''MCq0s1Ns2p3''' (например)
<pre>
// Первое, что мы должны написать после &content - это собственно WCHAR строку:
L"Hello world!" //Вставляем что угодно
// Дальше видим s1, значит надо сказать функции какую строку надо взять из ленга:
0x01000018 //0x0100 - обязательно вставлять для строковых ресурсов. 0018 - взята строка "уменьшить".
// Далее идет s2, то же самое как мы делаем с s1:
0x01000572 //0x0100 - обязательно вставлять для строковых ресурсов. 0572 - взята строка "увеличить".
// Следующим типом(p3) идет картинка, значит указываем на картинку из дрм:
0x120000D0 //0x1200 - обязательно вставлять для ресурса картинки. 00D0 - взята картинка кружки ява.
</pre>
=== Типы содержимого ===
* '''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''' - текст снизу
<br>
== Пример ==
Теперь собстна надо написать пример использования самой функции
<pre>
CONTENT_T content; //В начале функции
UIS_MakeContentFromString("MCq0s1Ns2p3", &content, L"Hello world!", 0x01000018, 0x01000572, 0x120000D0); //Создаем контент
</pre>
Вот и все. Контент который создала функция UIS_MakeContentFromString Вы можете использовать для разных диалогов, например [[UIS_CreateTransientNotice]], [[UIS_CreateViewer]] и т.д.
<br>
== Примечания ==
* Если в WCHAR написать кирилицу - будут кракозябры
{{Совет|Это замечание уже не действительно при хотябы одном из следующих условий:
# У Вас стоит "исправленный" [[Языковой пакет|LangPack]]
# Вы используете [[Elfpack|ElfPack2]]}}
{{Внимание|msg=Если берете картинку из [[DRM]], не забывайте её номер перевести в hex}}
;Большое спасибо lavmen за столь подробное описание!