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 でのエラー処理」を参照してください。
リターン コード | 説明 |
---|---|
|
テキストは書き込み保護されています。 |
|
何らかの理由でエラーが発生しました。 |
注釈
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 |
関連項目
概念
リファレンス