Last Updated 2002/12/26
Programming Tips Visual C++ MFC CRichEditCtrl  索 引 
IME変換中の色
2002/12/26

リッチエディットコントロールは IME 変換中の文字が見にくい.
(背景灰色に黒文字)
リッチエディットを使用したサンプル(Word Pad)でも発生する.

それを解消するには,LPARAM に COMPCOLOR をセットして EM_SETIMECOLOR を送信する.
COMPCOLOR は4つの配列でそれぞれの意味は,
[0]: 入力中の文字列の色
[1]: 変換中の文字列の色
[2]: 変換された文字列の色(「変換」キーの対象になる以外の部分)
[3]: いちど変換されたものをユーザーが入力文字(かなやアルファベット)に戻した文字列の色である.

    COMPCOLOR compcolor[4];
    SendMessage(EM_GETIMECOLOR, 0, (LPARAM)compcolor);
    compcolor[1].crText = GetSysColor(COLOR_HIGHLIGHTTEXT);
    compcolor[1].crBackground = GetSysColor(COLOR_HIGHLIGHT);
    SendMessage(EM_SETIMECOLOR, 0, (LPARAM)compcolor);


参照
前後のTips
IME変換中の色

DSS ProgrammingTipsCGI Ver2.01