Pergunta

Quando você apaga um texto colorido. Por padrão, o controle define a nova cor de texto inserida de volta para isso recentemente apagada. Como você pode evitar isso? Você precisa verificar cada estilo de caractere antes de digitar?

ATUALIZAR:

Estou tentando definir a cor do texto como essa.

SendMessage(hEdit, EM_SETSEL, start_pos, end_pos); //select text for coloring

        CHARFORMAT cf;
        memset( &cf, 0, sizeof cf );
        cf.cbSize = sizeof cf;
        cf.dwMask = CFM_COLOR;
        cf.crTextColor = RGB(255,0,0);
        SendMessage( hEdit , EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &cf);

        SendMessage(hEdit, EM_SETSEL, -1, 0 ); //deselect text
        cf.crTextColor = RGB(0,0,0); //reset colour
        SendMessage( hEdit , EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &cf); //set colour
Foi útil?

Solução

Sua pergunta não é bastante clara. Sabra selvagem: você perde toda a formatação ao atribuir a propriedade de texto. Certifique -se de usar AppendText (). E para definir as propriedades SelectionColor e SelectionBackColor de volta ao que era depois de colorizar qualquer texto, para que o texto inserido recentemente obtenha as cores padrão preferidas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top