Создание Эльфов : Эльфостроение : Форум |
Страница 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 |
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 |