1
0
mirror of synced 2024-09-19 01:36:08 +00:00
x2utils/X2UtSettingsForm.pas

66 lines
1.9 KiB
ObjectPascal
Raw Normal View History

{
:: X2UtSettingsForm provides functions to read and write form settings.
::
:: Last changed: $Date$
:: Revision: $Rev$
:: Author: $Author$
}
unit X2UtSettingsForm;
interface
uses
Forms,
X2UtSettings;
procedure ReadFormPos(const AFactory: TX2SettingsFactory;
const ASection: String; const AForm: TCustomForm);
procedure WriteFormPos(const AFactory: TX2SettingsFactory;
const ASection: String; const AForm: TCustomForm);
implementation
type
THackCustomForm = class(TCustomForm);
procedure ReadFormPos(const AFactory: TX2SettingsFactory;
const ASection: String; const AForm: TCustomForm);
begin
with AFactory[ASection] do
try
if ValueExists('Left') then
begin
if ReadBool('Maximized', (AForm.WindowState = wsMaximized)) then
AForm.WindowState := wsMaximized
else with THackCustomForm(AForm) do begin
WindowState := wsNormal;
Position := poDesigned;
Left := ReadInteger('Left', Left);
Top := ReadInteger('Top', Top);
Width := ReadInteger('Width', Width);
Height := ReadInteger('Height', Height);
end;
end;
finally
Free();
end;
end;
procedure WriteFormPos(const AFactory: TX2SettingsFactory;
const ASection: String; const AForm: TCustomForm);
begin
with AFactory[ASection] do
try
WriteBool('Maximized', (AForm.WindowState = wsMaximized));
if AForm.WindowState <> wsMaximized then
with THackCustomForm(AForm) do begin
WriteInteger('Left', Left);
WriteInteger('Top', Top);
WriteInteger('Width', Width);
WriteInteger('Height', Height);
end;
finally
Free();
end;
end;
end.