0

色付きのテキストを消去したとき。デフォルトでは、コントロールは新しく入力されたテキストの色を最近消去された色に戻します。どうすればそれを避けることができますか?入力する前に各文字スタイルを確認する必要がありますか?

アップデート:

このようにテキストの色を設定しようとしています。

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
4

1 に答える 1

1

あなたの質問はかなり不明確です。それを大胆に突き刺します。Textプロパティを割り当てると、すべての書式が失われます。代わりに、必ずAppendText()を使用してください。また、SelectionColorプロパティとSelectionBackColorプロパティをテキストに色を付けた後の状態に戻し、新しく入力したテキストが優先されるデフォルトの色になるようにします。

于 2010-02-17T11:24:25.173 に答える