次の方法で共有


ITextRange::D elete メソッド (tom.h)

CTRL キーを押した場合と押さない場合は、DELETE キーと BACKSPACE キーを模倣します。

構文

HRESULT Delete(
  long Unit,
  long Count,
  long *pDelta
);

パラメーター

Unit

型: long

使用する単位。 Unit には、 tomCharacter (既定値) または tomWord を指定できます。

Count

型: long

削除する 単位の数。 Count= 0 の場合、範囲内のテキストのみが削除されます。 Count が 0 より大きい場合、ITextRange::D elete は DELETE キーが Count 回押されたかのように動作します。 Count が 0 未満の場合、BACKSPACE キーが Count 回押されたかのように動作します。 既定値は 1 です。 詳細については、「解説」を参照してください。

pDelta

型: long*

削除されたユニットの数。 null にすることができます。 pDelta パラメーターは、削除されたユニットの数に等しく設定されます。 生成されていない範囲のテキストを削除すると、1 単位としてカウント されます

戻り値

型: HRESULT

このメソッドは HRESULT 値を返します。 成功した場合は、 S_OKを返します。 それ以外の場合は、次のいずれかの値を返します。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。

リターン コード 説明
E_ACCESSDENIED
テキストは書き込み保護されています。
S_FALSE
何らかの理由でエラーが発生しました。

注釈

Count = 0 の場合、このメソッドは範囲内のテキストを削除します。つまり、範囲がカーソルのみの場合は何も削除しません。

Count が 0 ではなく、範囲が挿入ポイント (つまり縮退) の場合は 、 |Count|(Count の絶対値)ユニットs は Count の符号によって指定された論理的な方向に削除されます。正の値はストーリーの末尾に向かう方向で、負の値はストーリーの開始方向です。

Count が 0 ではなく、範囲が非生成 (テキストを含む) の場合、範囲内のテキストは削除されます (Unit Count の値に関係なく)。これにより、挿入ポイントが作成されます。 次に、 | Count|- 1 ユニットs は 、Count の符号によって指定された論理的な方向で削除されます。

範囲内のテキストは、範囲に null 文字列を割り当てることで削除することもできます (ステートメント r = を実行します。ここで、 は範囲です)。 ただし、 ITextRange::D elete では 、BSTR を割り当てる必要はありません。

段落末記号 (CR) を削除すると、Microsoft Word UI の特別な動作が発生します。 4 つのケースが特に重要です。

  • CR だけを削除しても、段落にテキストが含まれている場合、CR は削除され、次の段落は現在の段落と同じ段落書式を取得します。
  • CR と、次の段落の文字の一部 (すべてではない) を削除すると、現在の段落から残された文字は、次の段落の段落書式を取得します。
  • 段落の末尾まで選択したが、段落全体を選択しない場合、CR は削除されません。
  • 段落全体を (最初から CR まで) 削除する場合は、CR も削除します (ファイル内の最後の CR でない限り)。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー tom.h
[DLL] Msftedit.dll

関連項目

概念

ITextRange

リファレンス

Text オブジェクト モデル