• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Обновить диалог

  • Автор темы eastern
  • Дата начала
E

eastern

Всем привет!
Обьясните, пожалуйста, кто знает, как обновить данные в CEdit. Смысл такой, нажимаю кнопку и пошла обработка информации. По мере обработки в окне редактирования меняется информация. При использовании UpdateData(FALSE) появляется только последние данные. Код такой:
Код:
void CSentDlg::OnBnClickedButtonSent()
{
обработка данных
...
strResult = данные
UpdateData(FALSE);
обработка данных
...
strResult = данные
UpdateData(FALSE);

}
В принципе это касается не только CEdit. В общем нужно видить промежуточные результаты, а не только конечный.
 
T

tdr

Видимо, у тебя данные обрабатываются достаточно быстро, для того чтобы ты не видел смены
Сделай вместо CEdit CListBox и выводи все данные туда
 
E

eastern

В том-то и дело, что времени хватает чтобы увидить изменения. Наблюдаю такой эфект, в окне редактирования текста не вижу, но полосы прокрутки меняют свой размер, как будто там есть текст.
 
H

Hroft

Поподробнее код напиши. Может у тебя в другом чём-то проблема? Можешь мне в личку кинуть
 
G

gamecreator

попробуй использовать SetWindowText и т.п.
 
E

eastern

Всем спасибо. На другом форуме мне обьяснили. Потому что пока обрабатывается одно сообщение (в данном случае WM_COMMAND), другое сообщение стоит в очереди, и не обрабатывается (в данном случае WM_PAINT для Editа)
 
H

Hroft

Так у тебя то WM_PAINT для эдита обрабатывается, только не так как надо. Ну если всё заработало, тогда ладно.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!