Re: вопрос по WinAPI (C++)
создать поле для ввода можно например так...
добавь в стили ES_READONLY - поле будет только для чтения.
#define ID_EDIT 1001 // произвольная константа чтобы различать контролы у себя на окне
...
CreateWindow("edit","Default Text",
WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT|ES_AUTOHSCROLL,
10,50,410,30,hwnd,HMENU(ID_EDIThInstance,NULL);
потом можно брать из него текст:
или установить в него текст:
char S[100];
Edit_GetText(GetDlgItem(hwnd,ID_EDITS,100);
Edit_SetText(GetDlgItem(hwnd,ID_EDIT"New Text");
Если я все правильно понял, то Edit_SetText сотрет текст, что был в том поле и запишет заместо него новый. Конечно, можно сперва считать то, что там было и потом записать опять вместе с новыми строчками, но тогда придется создавать уже не char S[100], а гораздо больше (или размер текста будет ограничен всего 100 символами). Нет ли функции, позволяющей добавлять в конец текста одну строчку, не удаляя содержимое поля?
контрол вроде combobox со стилем CBS_DROPDOWNLIST. в MSDN уточни
Загодя размер можно узнавать при помощи Edit_GetTextLength
или "консольное" - это типа как "консоль" в квейке/хальфе?
тогда там просто - вешаешь доп.обработчик на клавиши "вверх/вниз" и подставляешь команды из сохранённой хистори.
Оставить комментарий
Mihalna
Может, по-хорошему надо обложиться книжками и самому искать ответ, но ломаить =)Вопрос такой: надо создать консольное приложение с помощью графического интерфейса, но я совершенно не знаю, как это делается. Я думаю, можно сделать снизу какое-то поле, в котором пользователь вводил бы строки, а сверху - нередактируемое поле, в котором, собственно, содержались бы ответы на его запросы и то, что он сам вводил. Короче, думаю, мне хватит 4 вещи:
1) Как создать поле, в котором пользователь будет вводить 1 строчку, и которая будет считываться после нажатия Enter
2) Как ее считывать
3) Как создать поле, в которое можно будет выводить строчки и сохранять все, выведенное туда раньше
4) Как в это поле выводить строчки
P.S. Прошу прощения, что оскверняю этот форум такими нубскими вопросами