edit加载不同字体格式

type
  TTargetControl = class(TControl);
procedure SaveControlFont(Root: TWinControl;ini: TIniFile);
var
  i,style: Integer;
begin
  for i := 0 to ROot.ControlCount - 1 do
  begin
    ini.WriteString(Root.Controls[i].Name+'_Font','Name',TTargetControl(Root.Controls[i]).Font.Name);
    ini.WriteInteger(root.Controls[i].Name+'_Font','Size',TTargetControl(Root.Controls[i]).Font.SIZE);
    ini.WriteInteger(root.Controls[i].Name+'_Font','Color',TTargetControl(Root.Controls[i]).Font.Color);
    if fsBold in  TTargetControl(Root.Controls[i]).Font.Style then
      style := 1
    else style := 0;
    if fsItalic in  TTargetControl(Root.Controls[i]).Font.Style then
      style := style or 2;
    if fsUnderline in  TTargetControl(Root.Controls[i]).Font.Style then
      style := style or 4;
    if fsStrikeOut in  TTargetControl(Root.Controls[i]).Font.Style then
      style := style or 8;
    ini.WriteInteger(root.Controls[i].Name+'_Font','Style',style);
  end;
end;
 
procedure LoadFont(Root:TWinControl;ini:  TIniFile);
var
  i,style: Integer;
  st: string;
  fstyle: TFontStyles;
begin
  for i := 0 to Root.ControlCount - 1 do
  begin
    st := ini.ReadString(Root.Controls[i].Name+'_Font','Name','');
    if st <> '' then
    begin
      TTargetControl(Root.Controls[i]).Font.Name := st;
      TTargetControl(Root.Controls[i]).Font.SIZE := ini.ReadInteger(root.Controls[i].Name+'_Font','Size',TTargetControl(Root.Controls[i]).Font.SIZE);
      TTargetControl(Root.Controls[i]).Font.Color := ini.ReadInteger(root.Controls[i].Name+'_Font','Color',TTargetControl(Root.Controls[i]).Font.Color);
      style := ini.ReadInteger(root.Controls[i].Name+'_Font','Style',0);
      if style and 1 1 then
        fstyle := [fsBold]
      else fstyle := [];
      if style and 2 2 then
        Include(fstyle,fsItalic);
      if style and 4 4 then
        Include(fstyle,fsUnderline);
      if style and 8 8 then
        Include(fstyle,fsStrikeOut);
      TTargetControl(Root.Controls[i]).Font.Style := fstyle;
    end;
  end;
end;
 
SaveControlFont(Panel1,iniFile);
LoadFont(Panel1,IniFile);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值