掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TRichEdit一部重複の装飾変更 (ID:42505)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
やっぱり気になったのでちゃんと書きました 冗長ですがこれでどうでしょう procedure TForm1.SetFontStyle(Style: TFontStyle); var CFormat: CHARFORMAT2;//RichEditをusesにいれる CEffects:integer; begin FillChar(CFormat, SizeOf(CFormat), 0); CFormat.cbSize := SizeOf(CFormat); if Style=fsBold then CEffects:=CFE_BOLD else if Style=fsItalic then CEffects:=CFE_ITALIC else if Style=fsUnderline then CEffects:=CFE_UNDERLINE else {if Style=fsStrikeOut then }CEffects:=CFE_STRIKEOUT; if Style in RichEdit1.SelAttributes.Style then//一部でも違ったら False になる begin RichEdit1.Perform(EM_GETCHARFORMAT, SCF_SELECTION, Longint(@CFormat)); CFormat.dwEffects := CFormat.dwEffects - CEffects; end else begin CFormat.dwEffects := CFormat.dwEffects or CEffects; end; CFormat.dwMask := CEffects; RichEdit1.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@CFormat)); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.