能象wrod一样改变字体 大小 颜色 等 要求代码

解决方案 »

  1.   

    呵呵,我也是刚学D,我不知道你的具体要求。我是用菜单(mainmenu)和memo做的,很简单粗躁。
    菜单选项四个,字体、大小、风格、颜色。
    代码:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Menus;type
      TForm1 = class(TForm)
        Memo1: TMemo;
        MainMenu1: TMainMenu;
        N1: TMenuItem;
        N81: TMenuItem;
        N121: TMenuItem;
        N201: TMenuItem;
        N2: TMenuItem;
        N3: TMenuItem;
        N4: TMenuItem;
        N5: TMenuItem;
        N6: TMenuItem;
        N7: TMenuItem;
        N8: TMenuItem;
        N9: TMenuItem;
        N10: TMenuItem;
        N11: TMenuItem;
        N12: TMenuItem;
        procedure N81Click(Sender: TObject);
        procedure N121Click(Sender: TObject);
        procedure N201Click(Sender: TObject);
        procedure N3Click(Sender: TObject);
        procedure N4Click(Sender: TObject);
        procedure N6Click(Sender: TObject);
        procedure N7Click(Sender: TObject);
        procedure N8Click(Sender: TObject);
        procedure N10Click(Sender: TObject);
        procedure N11Click(Sender: TObject);
        procedure N12Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}//字体大小
    procedure TForm1.N81Click(Sender: TObject);
    begin
      memo1.Font.size:=8;
    end;procedure TForm1.N121Click(Sender: TObject);
    begin
      memo1.Font.size:=12;
    end;procedure TForm1.N201Click(Sender: TObject);
    begin
      memo1.Font.size:=20;
    end;//字体类型
    procedure TForm1.N3Click(Sender: TObject);
    begin
      memo1.Font.Name:='宋体';
    end;procedure TForm1.N4Click(Sender: TObject);
    begin
      memo1.Font.Name:='隶书';
    end;//颜色
    procedure TForm1.N6Click(Sender: TObject);
    begin
      memo1.Font.Color:=clred;
    end;procedure TForm1.N7Click(Sender: TObject);
    begin
      memo1.Font.Color:=clyellow;
    end;procedure TForm1.N8Click(Sender: TObject);
    begin
      memo1.Font.Color:=clblue;
    end;//风格
    procedure TForm1.N10Click(Sender: TObject);
    //粗体
    begin
      if memo1.Font.Style*[fsbold]=[] then
        begin
          memo1.Font.Style:=memo1.Font.Style+[fsbold];
          n10.Checked:=true;  //选择后,选项前打钩
        end
      else
        begin
          memo1.Font.Style:=memo1.Font.Style-[fsbold];
          n10.Checked:=false;
        end;
    end;procedure TForm1.N11Click(Sender: TObject);
    //斜体
    begin
      if memo1.Font.Style*[fsitalic]=[] then
        begin
          memo1.Font.Style:=memo1.Font.Style+[fsitalic];
          n11.Checked:=true;
        end
      else
        begin
          memo1.Font.Style:=memo1.Font.Style-[fsitalic];
          n11.Checked:=false;
        end;
    end;procedure TForm1.N12Click(Sender: TObject);
    //下划线,不知为什么隶书字体没有下划线
    begin
      if memo1.Font.Style*[fsunderline]=[] then
        begin
          memo1.Font.Style:=memo1.Font.Style+[fsunderline];
          n12.Checked:=true;
        end
      else
        begin
          memo1.Font.Style:=memo1.Font.Style-[fsunderline];
          n12.Checked:=false;
        end;
    end;end.
      

  2.   

    Delphi自带的Demo有个用RichEdit做的写字板,你可以参考。