次の元の文字列があります:「これはテキストボックスの元の文です」。このテキストを変更して、「元の文」を「新しいテキスト」に置き換え、「テキスト ボックス」の後に「形状」という単語を追加します。次に、すべてをマークアップして 1 つのピースとして表示する必要があります。
コードは次のとおりですが、目的の結果が得られません。//カラーを作成する Color myForegroundColor = Color.Red; カラー mtBlackColor = Color.Black;
//Translate to an OLE color
int redColor = ColorTranslator.ToOle(myForegroundColor);
int blackColor = ColorTranslator.ToOle(myBlackColor);
for (int i = 0; i < diff.Count; i++)
{
if (diff[i].operation == Operation.DELETE)
{
// This is for "original sentence"
PowerPoint.TextRange tr = allMarkupTextRange.InsertAfter(diff[i].text);
tr.Font.Color.RGB = redColor;
tr.Font.Underline = MsoTriState.msoFalse;
//allMarkupTextRange2.InsertAfter(diff[i].text).Font.Strikethrough = MsoTriState.msoTrue;
}
else if (diff[i].operation == Operation.INSERT)
{
// This is for "new text" and for "shape" parts
PowerPoint.TextRange tr = allMarkupTextRange.InsertAfter(diff[i].text);
tr.Font.Color.RGB = redColor;
tr.Font.Underline = MsoTriState.msoTrue;
}
else
{
// This is for the rest
PowerPoint.TextRange tr = allMarkupTextRange.InsertAfter(diff[i].text);
tr.Font.Color.RGB = blackColor;
tr.Font.Underline = MsoTriState.msoFalse;
}
}
編集:私はこのコードの問題をかなり解決しました。ただし、残っている私の主な質問は、取り消し線フォントを実現する方法ですか?