hakz.code Ответов: 1

Принимая ввод текста от пользователя и ожидая, пока это произойдет


Всем привет,

Я делаю проект на основе диалогового окна MFC, в котором мне нужно принять ввод текста пользователем,
после поиска в сети я нашел эту статью В. Б. Как сайт inputbox для MFC[^] и использование класса CInputBox.
Теперь проблема в том,что я хочу ждать и ничего не делать в приложении, пока пользователь не введет текст, а затем использовать введенную пользователем строку.(Теперь другие потоки будут запущены, хотя пользователь занят вводом данных)
Как я могу сделать это таким образом?
Пожалуйста помочь,
Заранее спасибо.

Sergey Alexandrovich Kryukov

Ладно, смотри, что ты пишешь?! Если это MFC, то это не может быть C++/CLI.
--СА

Sergey Alexandrovich Kryukov

Итак, вам нужны потоки, чтобы приостановить их в момент показа диалога. Это некоторая проблема метода, так как приостановка потока считается устаревшей. Однако это зависит от того, что на самом деле делают потоки. Есть ли у них достаточно частый рабочий цикл? Если вы ответите, я могу дать вам лучший совет.
--СА

hakz.code

Привет СА,извините за поздний ответ(так как мне пришлось написать чертовски много кода),я сделал это,приостановив поток и возобновив его позже,один поток будет потоковым и отображать данные с камеры,и когда пользователь нажимает на кнопку, обработчик событий для этого butten запросит текст с помощью поля ввода, поэтому, прежде чем запрашивать ввод, я приостановлю поток и возобновлю его, как только получу текст от пользователя, пожалуйста, предложите, есть ли лучшие способы.

1 Ответов

Рейтинг:
2

Michael Haephrati

У вас есть несколько вариантов:
1. Вы можете захватить текст, когда он вводится, символ за символом. Затем, когда введенный текст достигает определенного размера или нажимается определенный символ (например, "Enter"), вы отвечаете.
Видеть эта статья[^].

2. Вы можете добавить кнопку рядом с текстовым полем, которая нажимается пользователем после завершения ввода.


Richard MacCutchan

Посмотрите на дату этого вопроса.

Michael Haephrati

Если только этот вопрос не устарел и не имеет отношения к современным технологиям (в таком случае его следует исключить), нет никаких причин, почему бы не ответить на него. Лучше явиться сюда с ответом, чем без него.