Вниз
Скачать: CL | DM;

Как сохранить объект TFont в реестре   Найти похожие ветки 

 
KaLLeKa   (2004-07-25 17:21) [0]

Не могу сохранить шрифт в реестре. Помогите пожалуйста.


 
Кириешки ©   (2004-07-25 17:44) [1]

procedure SaveFontToRegistry(Font : TFont; SubKey : String);
Var
R : TRegistry;
FontStyleInt : byte;
FS : TFontStyles;
begin
R:=TRegistry.Create;
try
FS:=Font.Style;
Move(FS,FontStyleInt,1);
R.OpenKey(SubKey,True);
R.WriteString("Font Name",Font.Name);
R.WriteInteger("Color",Font.Color);
R.WriteInteger("CharSet",Font.Charset);
R.WriteInteger("Size",Font.Size);
R.WriteInteger("Style",FontStyleInt);
finally
R.Free;
end;
end;

function ReadFontFromRegistry(Font : TFont; SubKey : String) : boolean;
Var
R : TRegistry;
FontStyleInt : byte;
FS : TFontStyles;
begin
R:=TRegistry.Create;
try
result:=R.OpenKey(SubKey,false); if not result then exit;
Font.Name:=R.ReadString("Font Name");
Font.Color:=R.ReadInteger("Color");
Font.Charset:=R.ReadInteger("CharSet");
Font.Size:=R.ReadInteger("Size");
FontStyleInt:=R.ReadInteger("Style");
Move(FontStyleInt,FS,1);
Font.Style:=FS;
finally
R.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
If FontDialog1.Execute then
begin
SaveFontToRegistry(FontDialog1.Font,"Delphi Kingdom\Fonts");
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
NFont : TFont;
begin
NFont:=TFont.Create;
if ReadFontFromRegistry(NFont,"Delphi Kingdom\Fonts") then
begin //здесь добавить проверку - существует ли шрифт
Label1.Font.Assign(NFont);
NFont.Free;
end;
end;

Надеюсь ничего непонятного не будет (Если ты не из тех кто получив ответ не читая кода просто вставляет его в программу).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-1090601696
Jolik
2004-07-23 20:54
2004.08.08
Автоматический перенос слов...


14-1090490977
ghg
2004-07-22 14:09
2004.08.08
рисование блок-схемы


4-1088100353
Task
2004-06-24 22:05
2004.08.08
Scheduler


1-1090428623
Bohdan
2004-07-21 20:50
2004.08.08
Печать вебстраниц в TWebBrowser


1-1090508016
Lin7
2004-07-22 18:53
2004.08.08
А можно весь код проги в try - except запихнуть?




   Наверх