| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Вопросы по Edit Control |
| Автор: kutuzov 26.10.2007, 21:37 | ||||||
| Добрый день Есть у меня Edit Control со включенным multiline. В него выводятся логи выполнения программы. Не получается реализовать следующее: Хочу сделать чтоб при изменении размера окна диалога, менялся размер Edit'a Делаю так:
При запуске программа вылетает с ошибкой Debug assertion Failed! Program... File: afxwin2.inl И еще одна проблема: Хочу чтоб при выводе текста и его проскроливании вниз позиция курсора была на последней строчке т.е. последняя строка текста была на экране, а не приходилось прокручивать окно вниз, при выводе каждой новой строки. делаю так:
Курсор в той же позиции ...
|
| Автор: Andrey44 29.10.2007, 09:53 |
| Перед ресайзингом делай проверку if(add_text.GetSafeHwnd()!=0) |
| Автор: zkv 29.10.2007, 10:04 | ||||
| 1. ты пытаешься изменить размер контрола, грубо говоря, до того как он создан. Один из вариантов решения: в членах класса заводим переменную типа bool, которая будет сигнализировать о том, что контролы уже созданы, в конструкторе присваиваем ей false, а в OnInitDialog() - true, OnSize() оформляем так:
2.
|
| Автор: kutuzov 29.10.2007, 11:55 |
| Спасибо за ответы, только add_text.SetRect(rect); не меняет размер edit'a ,а устанавливает область форматирования... Может кто подскажет как размер edit'a поменять? ... |
| Автор: Andrey44 29.10.2007, 13:40 |
| add_text.SetWindowPos(....................) |
| Автор: zkv 29.10.2007, 15:42 |
| или MoveWindow() |