1 Востаннє редагувалося exmate (23.04.2023 14:11:59)

Тема: FMX ANDROID вірт. клавіатура блокуе onclick event

Доброго дня. Программа на С++ по TMemo oncklick підраховуе кількісь введенних рядків і щось робить. Під Він все ок.

Але Андроид блокує онклік івент поки не сховаю клавіатуру. GPT каже що треба флаги софт клавіатури прописати у маніфесті.
Але мені треба в коді це зробити. GPT видає непрацюючий код. Хтось стикався з такою потребою?

2 Востаннє редагувалося Droid 77 (23.04.2023 19:31:58)

Re: FMX ANDROID вірт. клавіатура блокуе onclick event

TMemo як і TEdit будуть викликати віртуальну клавіатуру в пристроях де відсутня фізична.
Можливе блокування вводу, тоді не буде викликатися клавіатура. Тільки навіщо використовувати компоненти з можливістю вводу символів якщо ввід буде блокуватися?

P. S.
І той-во. Ви трохи помилилися розділом. Тут не про плюси.

Подякували: leofun011

3

Re: FMX ANDROID вірт. клавіатура блокуе onclick event

Droid 77 написав:

TMemo як і TEdit будуть викликати віртуальну клавіатуру в пристроях де відсутня фізична.
Можливе блокування вводу, тоді не буде викликатися клавіатура. Тільки навіщо використовувати компоненти з можливістю вводу символів якщо ввід буде блокуватися?

P. S.
І той-во. Ви трохи помилилися розділом. Тут не про плюси.

Воно то хай викликає, але мені потрібно шоб при введенні "ENTER" вибрасувався евент onklick

Як воно з фіз. клавіатурою під Він.

А зараз я можу хоч 10 рядків у Тмемо вбити - евент сгенерується тільки після того як сховаю клавіатуру.

По друге - питання більше про FMX  під Андроід чим про плюси, 99% що і під Делфі та ж проблема

4

Re: FMX ANDROID вірт. клавіатура блокуе onclick event

Зробіть поруч з мемо кнопку, яку користувач повинен натиснути, коли закінчив щось вводити. До того ж у мемо є ще інші події, наприклад OnChange, або OnValidate.

Подякували: leofun01, exmate, Droid 773

5 Востаннє редагувалося exmate (24.04.2023 21:02:01)

Re: FMX ANDROID вірт. клавіатура блокуе onclick event

Torbins написав:

Зробіть поруч з мемо кнопку, яку користувач повинен натиснути, коли закінчив щось вводити. До того ж у мемо є ще інші події, наприклад OnChange, або OnValidate.

Варіант! Як не знайду рішення як флаги прописати у коді прийдеться так зробити.

Блін, а як у рекламі гарно - і лін і він і іос і андроід, раз написавьнамалював і як жв бейсік усюди працює. Ага , зараз... Вже відсодків 30 коду у

#ifdef __ANDROID__   #endif 

легше окремо андроид студіо вивчити блін.

У принципі ще не перевірив відповідь нижче.

(en)

Rad Studio C++ Android. Soft keyboard blocking onclick event of memo contlol until I hide it. How to fire onclick event with soft keyboard in use?

In order to handle the OnClick event of a TMemo control when the soft keyboard is displayed on an Android device, you can use the OnVirtualKeyboardShown event of the Form or TControl that contains the TMemo control.

Here's an example:


void __fastcall TForm1::FormVirtualKeyboardShown(TObject *Sender, bool KeyboardVisible, const TRect &Bounds)
{
    if (Memo1->Focused())
    {
        // Memo1 is focused, handle the click event here
        Memo1->OnClick(Memo1);
    }
}

In this example, FormVirtualKeyboardShown is the OnVirtualKeyboardShown event of the Form that contains the TMemo control. When the soft keyboard is displayed, this event is triggered.

Inside the event handler, we check if the TMemo control is focused (Memo1->Focused()), and if it is, we simulate a click event (Memo1->OnClick(Memo1)).

This should allow you to handle the OnClick event of the TMemo control even when the soft keyboard is displayed on an Android device.

6

Re: FMX ANDROID вірт. клавіатура блокуе onclick event

exmate написав:

легше окремо андроид студіо вивчити блін

Це нічого не дасть. Софтова клава не генерує події натискання кнопок, і байдуже на якій мові написана аплікація. Можна лише реагувати на зміни тексту в мемо.

exmate написав:

У принципі ще не перевірив відповідь нижче.

(en)

Rad Studio C++ Android. Soft keyboard blocking onclick event of memo contlol until I hide it. How to fire onclick event with soft keyboard in use?

In order to handle the OnClick event of a TMemo control when the soft keyboard is displayed on an Android device, you can use the OnVirtualKeyboardShown event of the Form or TControl that contains the TMemo control.

Here's an example:


void __fastcall TForm1::FormVirtualKeyboardShown(TObject *Sender, bool KeyboardVisible, const TRect &Bounds)
{
    if (Memo1->Focused())
    {
        // Memo1 is focused, handle the click event here
        Memo1->OnClick(Memo1);
    }
}

In this example, FormVirtualKeyboardShown is the OnVirtualKeyboardShown event of the Form that contains the TMemo control. When the soft keyboard is displayed, this event is triggered.

Inside the event handler, we check if the TMemo control is focused (Memo1->Focused()), and if it is, we simulate a click event (Memo1->OnClick(Memo1)).

This should allow you to handle the OnClick event of the TMemo control even when the soft keyboard is displayed on an Android device.

По ідеї, цей OnClick спрацює лише один раз на самому початку.