Einzelnen Beitrag anzeigen

dUSER.th

Registriert seit: 19. Jun 2008
24 Beiträge
 
#5

Re: Styls in ini oder änlich speichern?

  Alt 20. Jun 2008, 10:47
Hallo zusammen,

vielen Dank für die Anregungen. Ich habe mir das Beste aus den Bsp. Rausgepickt
und meine Lösung mal hier eingebracht. Ist möglicherweise nicht die beste aber es
Funktioniert so weit.


procedure TForm1.FontDialog1Apply(Sender: TObject; Wnd: HWND);
begin
Panel2.Font.Name:= TFontDialog(Sender).Font.Name;
Panel2.Font.Size:= TFontDialog(Sender).Font.Size;
Panel2.Font.Color:= TFontDialog(Sender).Font.Color;
Panel2.Font.Style:= TFontDialog(Sender).Font.Style;
Ini:= TIniFile.Create(GetApplicationDirectory + Form1.dPIX +'.css');
try
Ini.WriteString('Panel','Panel2FontName',Panel2.Fo nt.Name);
Ini.WriteInteger('Panel','Panel2FontSize',Panel2.F ont.Size);
Ini.WriteInteger('Panel','Panel2FontColor',Panel2. Font.Color);
if (fsBold in TFontDialog(Sender).Font.Style)
then Ini.WriteBool('Panel','Panel2FontBold',True)
else Ini.WriteBool('Panel','Panel2FontBold',False);
if (fsItalic in TFontDialog(Sender).Font.Style)
then Ini.WriteBool('Panel','Panel2Italic',True)
else Ini.WriteBool('Panel','Panel2Italic',False);

finally
ini.Free;
end;

end;

Ausgelesen aus *.Ini ist ähnlich
...
for i:= 1 to 25 do begin
STE := TComponent(FindComponent('Panel' + IntToStr(i)));
Z := STE.ComponentIndex;
TPanel(Components[Z]).Height:= Ini.ReadInteger('Panel', dTEXT +'Height' ,0);
TPanel(Components[Z]).Width := Ini.ReadInteger('Panel', dTEXT +'Width' ,0);
TPanel(Components[Z]).Top := Ini.ReadInteger('Panel', dTEXT +'Top' ,0);
TPanel(Components[Z]).Color := Ini.ReadInteger('Panel', dTEXT +'Color' ,0);
TPanel(Components[Z]).Font.Size := Ini.ReadInteger('Panel', dTEXT +'FontSize' ,0);
TPanel(Components[Z]).Font.Color:= Ini.ReadInteger('Panel', dTEXT +'FontColor' ,0);
TPanel(Components[Z]).Font.Name := Ini.ReadString('Panel', dTEXT +'FontName' ,'');
TPanel(Components[Z]).Caption := Ini.ReadString('Texte', dTEXT ,'');
TPanel(Components[Z]).Font.Style:= [];
if Ini.ReadBool('Panel', dTEXT +'FontBold' ,False) = true
then TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style + [fsBold]
else TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style;
if Ini.ReadBool('Panel', dTEXT +'FontItalic' ,False) = true
then TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style + [fsItalic]
else TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style;
end;
...

Ich weis nicht, aber es gibt bestimmt auch noch schönere oder bessere Möglichkeiten.
Aber ich komme erst mal so weiter.

Ps: Das mit dem Code einfügen Funktioniert bei mir wohl nicht, deshalb habe ich
das Manuel gemacht. Sieht schon etwas Blöd aus.

Also vielen Dank Euch allen.
Gruß Detlef
  Mit Zitat antworten Zitat