新しいアプリケーションを作成し、TRichedit にドロップして、PlainText プロパティを true に設定します。次に、アプリケーションを実行し、リッチ フォーマットのテキストを RichEdit に貼り付けます。
プレーンテキストとして表示されることを期待していますが、フォーマット付きのコンテンツが表示されます。
プレーンテキストと同じように TRichedit を使用する方法を誰もが知っています (メモを使用しない:))
フォーマットが無視されるように手動で貼り付ける必要があります。
if Clipboard.HasFormat(CF_TEXT) then
RichEdit.SelText := Clipboard.AsText;
のメッセージ ハンドラからこのコードを実行します。WM_PASTE
CTRL+V現在、キープレスをインターセプトしてこのコードに置き換える方法がわかりません。WM_PASTE
メッセージはリッチ エディット コントロールには送信されません。
Cody がコメントで示唆しているように、1 つの解決策は次のとおりです。
TRichEdit
化してオーバーライドしますCNNotify
。EN_PROTECTED
メッセージを処理し、msg=WM_PASTE
上記のテキスト コードとして貼り付けを使用し、メッセージ ハンドラーから 1 を返して、要求された操作 (リッチ ペースト) が拒否されたことを示します。