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