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);と書いても同じ。
参考
1. [Delphi] Memoでキャレット位置に文字列を挿入する 2. 第12章 エディットとメモ 3. テキストボックスへの高速な文字列の追加 4. Undo可能なSelTextの変更 5. FMX.Memo.TMemo のメソッド 6. TMemo プロパティ 7. C++ Builder XE4のFireMonkeyがVCL/CLXと違うところ。 8. ウィンドウプロシージャ 9. PostMessageA function 10. PostMessage(A)
programing/cpp_builder/cpp_builder-tmemo-caret-display.1580452132.txt.gz · 最終更新: by yoko
