Не зная формата текста, который вы пытаетесь добавить в элемент управления с помощью SetWindowText и EM_STREAMIN, я собираюсь сделать предположение и сказать, что это может иметь отношение к текстовому режиму элемента управления. После установки содержимого элемента управления попробуйте отправить ему сообщение EM_GETTEXTMODE и посмотреть, установлен ли бит TM_PLAINTEXT. Если это так, попробуйте отправить сообщение EM_SETTEXTMODE , а затем EM_AUTOURLDETECT. Ваш код должен выглядеть примерно так:
UINT textmode = (UINT)::SendMessage(handle_to_control, EM_GETTEXTMODE, 0, 0);
if(textmode & TM_PLAINTEXT) {
textmode &= ~TM_PLAINTEXT; // Clear the TM_PLAINTEXT bit
textmode |= TM_RICHTEXT; // Set the TM_RICHTEXT bit
if(::SendMessage(handle_to_control, EM_SETTEXTMODE, textmode, 0) != 0) {
// Failed to set the text mode
}
}
::SendMessage(handle_to_control, EM_AUTOURLDETECT, TRUE, 0);