テキストエディタ 色分け

[戻る]
you 2010/12/01(水) 20:33:25
いつもお世話になっております。
環境:Win32API使用 C++ VC++2008

テキストエディタを作ろうと思っているのですが、
色分けの方法がわかりません。

Windowsに標準で入っているウィンドウクラスでは局所の色分けができませんので
自作しようと思いましたが、IMEを呼び出す方法がわかりません。

仲澤@失業者 2010/12/02(木) 10:20:13
他人にも理解できる日本語で説明してください。

>色分けの方法がわかりません。
「何」の色を「どのように」分けたいのでしょうか。

>Windowsに標準で入っているウィンドウクラスでは局所の色分けができませんので
>自作しようと思いましたが、IMEを呼び出す方法がわかりません。

対象の「物」によって、色を設定する方法が異なります。
「物」を特定してください。
また、一般に「IME」と「色」には特別な関係はありません。

hirocco 2010/12/02(木) 11:37:40
MFCでダイアログベースならならマネージドのRichTextBox呼んじゃうのが早そうね
Win32からの呼び方は知りませんけどね…

FUKU 2010/12/02(木) 20:48:29
>色分けの方法がわかりません。
GetTabbedTextExtent()でトークン毎のX座標を算出して
SetTextColor()で文字色を指定してTabbedTextOut()でテキストを描画

>IMEを呼び出す方法がわかりません。
WM_IME_STARTCOMPOSITIONでcaret位置にImmSetCompositionWindow()して
変換文字列はWM_IME_COMPOSITIONでImmGetCompositionString()で取得

you 2010/12/06(月) 12:57:24
[[解決]]
返信遅くなってすみません。
FUKUさんありがとうございました。
そんな関数があること自体知らなかったです。

古いスレッドには追加発言できません。