из основного потока я могу использовать переменные-члены так:
CString updatetext;
updatetext.Format(L"character length: %d\n", length );
long nStart, nEnd;
m_richeditcont.
GetSel(nStart, nEnd);
m_richeditcont.SetSel(nEnd, nEnd);
m_richeditcont.ReplaceSel(updatetext);
однако без рабочего потока программа просто зависает. вы не можете использовать переменные-члены из рабочего потока, так как мне нужно обновить элемент управления richedit с текстом, хранящимся в updatetext из рабочего потока?
У меня нет никакого реального кода, приведенный выше код - всего лишь пример, я просто хочу знать, как я собираюсь добавить текст, хранящийся в updatetext, в элемент управления richedit из рабочего потока.
Рабочий поток может отправлять данные в поток GUI с помощью PostMessage или SendMessage. Тогда поток GUI должен отвечать за изменение GUI. Смотрите FAQ 12 здесь:
http://vcfaq.mvps.org/mfc/index.htm
Рабочий поток должен выделять CString в куче, а затем отправлять указатель в lparam или wparam настраиваемого сообщения. Поток GUI возвращает указатель на CString * и обновляет элемент управления. Наконец, поток GUI удаляет CString из кучи.