Создание Эльфов : Эльфостроение : Форум

Страница 196 из 211: « 1 ... 192 193 194 195 [196] 197 198 199 200 ... 211 »

 SERGK393:
10.12.11, 15:54
 IDOL1234, Добавляем таким образом:
void GUIObject_SoftKeys_SetAction( GUI*, u16 actionID, SKACTIONPROC proc );
где SKACTIONPROC proc, это функция, которую назначают на софт. Типа такая:
Код:
void Func(BOOK *bk,GUI *)
{
    //ляляля
}


В функе, которая сверху, вместо SKACTIONPROC proc пишем название функи

 IDOL1234:
10.12.11, 17:55
 А как получить actionID?

Никак не разберусь со строками. Как отобразить в месседжбоксе текст, содержащийся в переменной типа wchar_t и не потерять при этом память?

 E1kolyan:
10.12.11, 18:38
 void Action(BOOK* book, GUI* gui)
{
MessageBox(TEXTID_ANY_LEN, TextID_Create(L"Текст сообщения", ENC_TEXTID, 15), NOIMAGE, 2, 0, 0);
}

GUIObject_SoftKeys_SetAction(gui_pb, ..., Action);
GUIObject_SoftKeys_SetText(gui_pb, ..., TextID_Create(L"Имя софта", ENC_TEXTID, 9));

actionID смотри в исходнике dynconst в папке target, а вообще это самое просто глупо спрашивать...

 SERGK393:
10.12.11, 19:06
 IDOL1234, туда можно хоть цифру 1, хоть цифру 2 вписывать, а если хочешь особые позиции - то про динконст уже написали.

 IDOL1234:
10.12.11, 19:33
 E1kolyan, не то... Я только так и умею. Не могу разобраться с переводами из других кодировок. В лучшем случае, появляется какой-то мусор.
Например,
Код: 

wchar_t *a;
a[1] = '1';
a[2] = '2';
a[3] = 0x00;
TEXTID b;
TextID_GetWString( b, a, MAXELEMS( a ));
MessageBox(EMPTY_TEXTID, b, NOIMAGE, 1, 0,0);
TextID_Destroy(b);

выдаёт какую-то чушь. Нечто вроде b:044712 (точно не помню).
---
копаю дин...

 E1kolyan:
10.12.11, 19:36
 IDOL1234, писал:
TextID_Destroy(b);

зачем текст убиваешь? меседже бокс сам это делает...
скажи что тебе конкретно надо написать?

 IDOL1234:
10.12.11, 20:22
 Пример Месседжбокса текста, содержащегося в переменной типа wchar_t. У меня всё в эти типы данных упирается.
Ещё хотелось бы хоть примерное описание FindBookByID :oops:

 D3mon:
10.12.11, 20:31
 IDOL1234,

Динамическая память:
Код:
wchar_t * buf = new wchar_t[255];
snwprintf(buf, 255, L"Size of int = %d", sizeof(int));
MessageBox(EMPTY_TEXTID, TextID_Create(buf, ENC_UCS2, TEXTID_ANY_LEN), NOIMAGE, 1, 0, 0);
delete(buf);

Статическая память:
Код:
wchar_t buf[255];
snwprintf(buf, 255, L"Size of int = %d", sizeof(int));
MessageBox(EMPTY_TEXTID, TextID_Create(buf, ENC_UCS2, TEXTID_ANY_LEN), NOIMAGE, 1, 0, 0);


P.S. пример совершенно случайный, первое, что пришло в голову :-)

 Joker XT:
10.12.11, 20:42
 IDOL1234, ты либо читаешь темы на форуме, либо смотришь исходники, в коих всё это есть и не один раз, либо я тебе предупреждение дам! а потом бан!
Не нужно ветку захламлять, элементарными вещами, которые в вики описаны!
Последний раз предупреждаю

 IDOL1234:
10.12.11, 21:11
 Joker XT, функция messagebox взята только для примера. Мне нужно было получить TEXTID строки, представленной в виде wchar_t. Насколько я понял, это делается при помощи функции TextID_GetWString. Её описания на вики нет. Поиск по форуму выдаёт только один результат: мой вопрос. Поиск по исходникам с СВН даёт 6 совпадений (не считая случайных). Их я курил примерно 2 часа, но получилось чуть меньше, чем ничего. На мой взгляд, это - достаточное основание для захламления ветки элементарными вещами.
D3mon, E1kolyan, SERGK393, спасибо.



[ Редактировано IDOL1234 в 10.12.11 20:17 ]


Добавлено 10.12.11 21:29

Всё, всем большое спасибо, я временно самоустранился.
Страница 196 из 211: « 1 ... 192 193 194 195 [196] 197 198 199 200 ... 211 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1950

© 2005-2018 supertrubka.org