我想通过用Rich编辑器,改变字体。当通过选择字体时,改变选择的字体。不选择字体时,则改变光标所在位置的字体(即改变以后输入文本的字体)。但下面的程序好象,在不选择字体时也改变了这个编辑框内的字体,请高手指点。谢谢!
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls;type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Panel1: TPanel;
    Button1: TButton;
    FontDialog1: TFontDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}{主要是通过这个单击按钮所弹出的对话框改变字体}
procedure TForm1.Button1Click(Sender: TObject);begin
  FontDialog1.Font.Assign(RichEdit1.DefAttributes);
  if FontDialog1.Execute then
   begin
   if RichEdit1.SelLength>0 then
    RichEdit1.SelAttributes.Assign(FontDialog1.Font)
   else
    RichEdit1.DefAttributes.Assign(FontDialog1.Font);
   end
end;end.