Создание Эльфов : Эльфостроение : Форум |
Страница 192 из 211: « 1 ... 188 189 190 191 [192] 193 194 195 196 ... 211 » |
Metaler: |
08.11.11, 22:11 |
Подскажите в чём проблема: хотел использовать в эльфе функцию Код: StringInput_GetCursorPosition(GUI*, u16 pos, char _zero); но при её вызове ребут. Написал отдельно эльф для проверки, вот часть кода, непосредственно использующего ф-ю: Код: if(key==KEY_VOL_UP && mode==KBD_SHORT_PRESS && !(isKeylocked()) ) { u16 c_pos; wchar_t * src=new wchar_t[256]; StringInput_GetCursorPosition( DispObject_GetGUI(Display_GetFocusedDispObject(0)), &c_pos, 0 ); snwprintf(src, 255, L"%i", c_pos ); MessageBox(EMPTY_TEXTID,TextID_Create(src,ENC_UCS2,TEXTID_ANY_LEN),NOIMAGE,1,0,0); delete src; return(-1); } так же при вызове ребут. При использовании, например Код: StringInput_GetStringAndLen( GUI*, wchar_t**, u16* ); всё нормально. P.S.: Проверял на 3 телефонах. |
Joker XT: |
08.11.11, 23:11 |
из VEFa Код: void EditFile_SetCursor(BOOK *MsgBxBook, GUI *gui_si) { wchar_t *InputText; u16 len; StringInput_GetStringAndLen(gui_si, &InputText, &len); u16 current_cur_pos; char zero; StringInput_GetCursorPosition(gui_si, ¤t_cur_pos, &zero); second_strinp = CreateStringInputVA(0, VAR_BOOK(MsgBxBook), VAR_STRINP_MODE(IT_INTEGER), VAR_OK_PROC(SetCursor_ActionOk), VAR_PREV_ACTION_PROC(SetCursor_ActionBack), VAR_STRINP_SET_INT_VAL(current_cur_pos), VAR_STRINP_MIN_INT_VAL(0), VAR_STRINP_MAX_INT_VAL(len), 0); } |
IDOL1234: |
25.11.11, 17:33 |
Как сэмулировать нажатие клавиши? Как сгенерировать эвент? |
Rc: |
25.11.11, 18:37 |
IDOL1234 пишет: Как сэмулировать нажатие клавиши? Как сгенерировать эвент? Переназначение клавиши - return (NEEDED_KEY) в кейхуке, но только для достаточно новых ревизий ЭП Нажатие для конкретного disp_obj Код: DISP_OBJ_ONKEY_METHOD onmykey=DispObject_GetOnKey (Display_GetFocusedDispObject(0)); onmykey (Display_GetFocusedDispObject(0),NEEDED_KEY,0,0,0); onmykey (Display_GetFocusedDispObject(0),NEEDED_KEY,0,0,3); Не знаю, работает ли с современными ревизиями инклудов Для ивентов кури функи UI_Event |
IDOL1234: |
25.11.11, 19:18 |
Спасибо большое! А то я уже пытался генерировать эвент нажатия клавиши и ловить это нажатие кейхуком ---- Скажите, можно ли как-нибудь отключить кейхук с ошибочным условием, из-за которого всегда возвращается (-1), без перезагрузки телефона? ---- Не.. То ли я туплю, то ли что-то не так. Код: if (x > 1000) { // MessageBox(EMPTY_TEXTID,STR("Hello Wordl!\n\nExample elf.."), NOIMAGE, 1, 500,NULL); //UI_Event( OPERATORKEY_PRESSED_EVENT ); DISP_OBJ_ONKEY_METHOD onmykey=DispObject_GetOnKey (Display_GetFocusedDispObject(0)); onmykey (Display_GetFocusedDispObject(0),KEY_LEFT,0,0,0); onmykey (Display_GetFocusedDispObject(0),KEY_LEFT,0,0,3); } Месседж, если его раскомментировать, появляется, а кнопка не срабатывает. Я правильно заменил KEY_NEEDED на код клавиши? [ Редактировано IDOL1234 в 25.11.11 19:30 ] |
SERGK393: |
25.11.11, 19:57 |
IDOL1234 пишет: Месседж, если его раскомментировать, появляется, а кнопка не срабатывает. IDOL1234, Правильно, потому что он генерирует нажатие, когда мессадж в фокусе. Это тебе надо сначала клавиши сэмулировать, а потом вывести сообщение. |
IDOL1234: |
25.11.11, 20:15 |
Ненене, я его затем и закомментировал, чтобы такого не происходило. А до этого я его специально написал, чтобы проверить, срабатывает ли условие. ---- Можно ли получить текст из "чужого" поля ввода (Например, при редактировании sms) при помощи StringInput_GetStringAndLen? [ Редактировано IDOL1234 в 25.11.11 20:32 ] |
Metaler: |
26.11.11, 00:34 |
IDOL1234, можно |
IDOL1234: |
26.11.11, 20:42 |
Так всё же, как сгенерировать нажатие на кнопку? Интересуют кнопки влево, вправо, вверх, вниз. Приведённый выше код почему-то не работает. |
Metaler: |
27.11.11, 01:22 |
IDOL1234, вот так примерно Код: int MyKey(int key,int r1,int mode,LPARAM,DISP_OBJ*dispobj) { if(key==KEY_DIGITAL_0+2 && mode==KBD_SHORT_PRESS) { return( KEY_UP ); } } int main (void) { ModifyKeyHook(MyKey,KEY_HOOK_ADD,NULL); return(0); } |
Страница 192 из 211: « 1 ... 188 189 190 191 [192] 193 194 195 196 ... 211 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1910 © 2005-2018 supertrubka.org |