Главная страница
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.47 MB
Время: 0.029 c
3-1089717775
Vova
2004-07-13 15:22
2004.08.08
как програмно определить виходниє дни недели и ...


1-1090494283
MORA
2004-07-22 15:04
2004.08.08
RXdbComboEdit


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


14-1090575176
inic
2004-07-23 13:32
2004.08.08
Прекрасные стихи


6-1085738048
Profi
2004-05-28 13:54
2004.08.08
IP