新石器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);と書いても同じ。

参考


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