| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Ожидание запрос ввода через EditBox |
| Автор: Kriks 12.8.2010, 02:47 |
| Всем доброго времени суток! Очень нужен совет по решению следующей проблемы. Имеется массив строк, память под который выделяется динамически, необходимо инициализировать данный массив через оконный интерфейс под MFC. Для консольной версии программы решение достаточно просто - создается цикл, на каждой итерации которого происходит запрос ввода определенной строки через gets() или scanf(), при этом каждая следующая итерация цикла не произойдет, до тех пор пока не будет инициализирована строка на предыдущей итерации. В MFC, где уже нет ни gets ни scanf, привязывая функцию цикла к определенной кнопке, по нажатию этой кнопки цикл пробегает все итерации сразу без ожидания запроса ввода строки на каждой итерации как это было в консольном варианте. И в лучшем случае через EditBox удается вбить только одну строку, которая инициализиреут строку на первой итерации цикла, все остальные итерации пройдут без запроса ввода. Подскажите плиз, есть ли какой-то аналог gets или scanf для MFC, чтобы каждая итерация цикла происходила с ожиданием запроса ввода. Грубо говоря, чтобы при нажатии на кнопку, к которой привязана функция с циклом, она ожидала запроса ввода строки на каждой его итерации через EditBox. Спасибо! |
| Автор: 586 12.8.2010, 04:41 |
| Можно использовать многострочный Edit Control, и вводить в него строки, как в обычной программе "Блокнот". |
| Автор: Kriks 13.8.2010, 01:58 |
| Народ, здравствуйте! Решил для заполнения массива строк отдельно открывать консоль в своем оконном приложении через AllocConsole(), а далее пользоваться функциями WriteConsole и ReadConsole. Но возникла новая проблема - WriteConsole принимает на вход и выводит только одну строку в отличие к примеру от printf, которая позволяет выводить сразу несколько строк наподобие: printf("%s %s", str, str2). Но если певрую проблему можно решить тем, что для вывода нескольких строк делать поочередно несколько вызовов WriteConsole, то вторая проблема состоит в том, что WriteConsole в конце строки делает переход на новую строку. Подскажите плиз, каким образом можно исключить переход на новую строку для WriteConsole или быть может есть аналогичные функции без перехода на новую строку и позволяющие выводить сразу несколько строк как это делает printf. Спасибо! |