Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: 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 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.048 c
1-1090497810
Mielofon
2004-07-22 16:03
2004.08.08
Куда девать файлы?


14-1090357361
Piter
2004-07-21 01:02
2004.08.08
Как грамотно подправить VCL?


1-1090805019
NumDer32Ok
2004-07-26 05:23
2004.08.08
Base64 алгоритм


6-1086882136
DLL
2004-06-10 19:42
2004.08.08
Заблокировать ARP


6-1086550906
lena19
2004-06-06 23:41
2004.08.08
проверка прав доступа (NetShareEnum)