新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:cpp_builder:cpp_builder-tmemo-caret-display


TMemoでキャレット位置に文字列を表示する

C++BuilderでTMemoのカーソル位置に文字を表示したい。Windowsメッセージを使った方法ではUnicode対応の関係か、英数字は表示できるがカナ文字などは文字化けした。

SelTextプロパティ代入に変更

以下の方法で、無事に動かせた。

String text = L"文字列";
 
Memo->Perform(EM_REPLACESEL, 0, (LPARAM)text.c_str());	// SendMessage
      ↓
Memo->SelText = text;

補足

  • Memo->Performの行は、PostMessage(Main->Handle, EM_REPLACESEL, (WPARAM)text.c_str(), 0);と書いても同じ。

参考

programing/cpp_builder/cpp_builder-tmemo-caret-display.txt · 最終更新: 2020/01/31 15:28 by yoko