Иногда требуется встроить клавиатуру в окно (например, для калькулятора или ввода пароля), и в этом случае можно использовать пользовательскую клавиатуру.
<edit x="c" y="10" w="90%" h="30" focused="true" input_type="custom" text="" />
Если вы хотите, чтобы редактор автоматически получал фокус при инициализации, можно установить focused = true.
<view y="60" x="c" w="90%" h="-60" is_keyboard="true"
children_layout="default(r=4,c=4,m=5,s=5)" >
<button name="key" text="0" />
<button name="key" text="1" />
...
<button name="backspace" text="<=" />
</view>
static ret_t on_send_key(void* ctx, event_t* e) {
widget_t* button = WIDGET(e->target);
char text[2];
text[0] = (char)button->text.str[0];
text[1] = '\0';
input_method_commit_text(input_method(), text);
return RET_OK;
}
static ret_t on_backspace(void* ctx, event_t* e) {
input_method_dispatch_key(input_method(), TK_KEY_BACKSPACE);
return RET_OK;
}
Если вы не хотите видеть курсор редактора, вы можете использовать label вместо edit, и напрямую изменять text метки при вводе и удалении.
Ссылки:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )