90 lines
2.8 KiB
ObjectPascal
90 lines
2.8 KiB
ObjectPascal
{
|
|
:: X2UtSettingsForm provides functions to read and write form settings.
|
|
::
|
|
:: Subversion repository available at:
|
|
:: $URL$
|
|
::
|
|
:: Last changed: $Date$
|
|
:: Revision: $Rev$
|
|
:: Author: $Author$
|
|
|
|
:$
|
|
:$
|
|
:$ X2Utils is released under the zlib/libpng OSI-approved license.
|
|
:$ For more information: http://www.opensource.org/
|
|
:$ /n/n
|
|
:$ /n/n
|
|
:$ Copyright (c) 2003 X2Software
|
|
:$ /n/n
|
|
:$ This software is provided 'as-is', without any express or implied warranty.
|
|
:$ In no event will the authors be held liable for any damages arising from
|
|
:$ the use of this software.
|
|
:$ /n/n
|
|
:$ Permission is granted to anyone to use this software for any purpose,
|
|
:$ including commercial applications, and to alter it and redistribute it
|
|
:$ freely, subject to the following restrictions:
|
|
:$ /n/n
|
|
:$ 1. The origin of this software must not be misrepresented; you must not
|
|
:$ claim that you wrote the original software. If you use this software in a
|
|
:$ product, an acknowledgment in the product documentation would be
|
|
:$ appreciated but is not required.
|
|
:$ /n/n
|
|
:$ 2. Altered source versions must be plainly marked as such, and must not be
|
|
:$ misrepresented as being the original software.
|
|
:$ /n/n
|
|
:$ 3. This notice may not be removed or altered from any source distribution.
|
|
}
|
|
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;
|
|
begin
|
|
with AFactory[ASection] do
|
|
try
|
|
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;
|
|
finally
|
|
Free();
|
|
end;
|
|
end;
|
|
|
|
procedure WriteFormPos;
|
|
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.
|