TPJWdwState & TPJRegWdwState Components |
The file wdwstate.pas
includes two components - TPJWdwState and TPJRegWdwState. These components can save the state (minimised, maximised or normal) of a form window, along with its size and position. TPJWdwState saves the information to a ini file while TPJRegWdwState saves to the registry. The components can also read information back and restore the saved window settings. This means the components can be used to restore a window to the condition it was in during some previous execution, just by calling a couple of methods.
With TPJWdwState you can specify the name of the ini file, or let the component choose one. You can also decide the name of the section within the ini file that will be used. Again the component can provide a suitable default section name.
Similarly with TPJRegWdwState you can specify the registry root and sub-keys under which the information is saved. Again suitable default values are used if no keys are specified.
TPJRegWdwState is not available with Delphi 1 since it depends on TRegistry which is not supported by Delphi 1. When installing the wdwstate.pas file under Delphi 1 the TPJRegWdwState component is not compiled.
Also included in the wdwstate.pas
unit is the component TPJCustomWdwState. This component is an abstract base class for both TPJWdwState and TPJRegWdwState.
TPJWdwState has been tested with Delphi 1, 2, 3 and 4 and TPJRegWdwState has been tested with Delphi 2, 3 and 4. They may work correctly with Delphi 5 but have not been tested.
In these instructions $(DELPHI)
is to be taken to represent the path where the appropriate version of Delphi was installed. For example, if you have Delphi 2 installed on the default installation path then $(DELPHI)
is equivalent to C:\Program Files\Borland\Delphi 2.0
.
wdwstate.zip
into a folder, preserving the directory structure.
wdwstate.pas
to the folder from where you wish to install the
component into the Delphi Component Palette. This will probably be an existing folder where you
keep the library components - say the default $(DELPHI)\lib
sub-folder.
wdwstate.dcr
from the 16
sub-folder into the same place that
you copied wdwstate.pas
.
wdwstate.hlp
into the $(DELPHI)\bin
folder.
(You may also copy wdwstatr.hlp
to prevent a bad link from
wdwstate.hlp
but wdwstatr.hlp
is not otherwise required).
wdwstate.kwf
into the $(DELPHI)\help
folder. (wdwstatr.kwf
is not required).
helpinst.exe
from the $(DELPHI)\help
folder. When
helpinst.exe
is running open the delphi.hdx
file and add
wdwstate.kwf
and click on the Save button.
wdwstate.pas
file in the directory where you placed it. Click OK to
recompile the component library.
wdwstate.pas
from the place where you copied it if you wish.
The component will appear on a palette called PJ Stuff. You can move the component to a
different palette as required, or hack the source code (before installing the component) by
finding the Register
procedure at the end of the code and changing the string
'PJ stuff'
to the name of the required palette.
wdwstate.zip
into a folder, preserving the directory structure.
wdwstate.pas
to the folder from where you wish to install it into
the Delphi Component Palette. This will probably be an existing folder where you keep
library components - say the default $(DELPHI)\lib
sub-folder.
wdwstate.dcr
from the 32
sub-folder into the same place that
you copied wdwstate.pas
.
wdwstate.hlp
and wdwstatr.hlp
and the keyword
files wdwstate.kwf
and wdwstatr.kwf
into the
$(DELPHI)\help
folder.
helpinst.exe
from the
$(DELPHI)\help\tools
folder. When helpinst.exe
is running open the
delphi.hdx
file and add wdwstate.kwf
and wdwstatr.kwf
and
click on the Save button.
wdwstate.pas
file in the folder where you placed it. Click OK to
recompile the component library.
wdwstate
.pas
from the place where you copied it
if you wish. The components will appear on a palette called PJ Stuff. You can move the
components to a different palette as required, or hack the source code (before installing the
components) by finding the Register
procedure at the end of the code and changing
the string 'PJ stuff'
to the name of the required palette.
Note that although the provided help files give information about using the components they cannot be linked into the Delphi 3 or Delphi 4 environments at present.
wdwstate.zip
into a folder, preserving the directory structure.
wdwstate.pas
to the folder from where you wish to install the
component into the Delphi Component Palette. This will probably be a sub-folder of the
$(DELPHI)\lib
folder.
wdwstate.dcr
from the 32
sub-folder into the same place
that you copied wdwstate.pas
.
wdwstate.pas
and select the file.
$(DELPHI)\lib\dclusrXX.dpk
(where XX=30 for Delphi 3 and XX=40 for Delphi 4).
wdwstate.pas
from the place where you copied it if you wish.
The component will appear on a palette called PJ Stuff. You can move the component to a
different palette as required, or hack the source code (before installing the components) by
finding the Register
procedure at the end of the code and changing the string
'PJ stuff'
to the name of the required palette.
$(DELPHI)\bin
folder for Delphi 1 or the $(DELPHI)/help
folder for Delphi 2). The location of the help file will be remembered in future.
Release 1.0 of 15/08/1999
WdwState v1.0 of 15/08/1999
Release 2.0 of 19/10/1999
WdwState v2.0 of 18/10/1999
Release 2.1 of 29/11/1999
WdwState v2.1 of 29/11/1999
ReadState
and SaveState
methods to
ReadWdwState
and SaveWdwState
respectively since
ReadState
was masking a method inherited from TComponent.
The source code and help files for these components can be freely distributed on a not-for-profit basis providing that:
By not-for-profit I mean that you may recover out of pocket expenses incurred in distributing the code, but should not make a profit from this.
If you discover any bugs in this implementation, or if you have any update suggestions, please contact me on peter.johnson@openlink.org.
Please do modify the code for you own use. I'd like to see any changes you make - I could incorporate them into future versions. Please notify me of changes on at the above e-mail address.
This software is provided as is - no warranty is given as to its suitability for any purposes to which you may wish to put it.
I'm Peter Johnson - a hobbyist programmer living in Ceredigion in West Wales, UK. I write mainly in Delphi, but occasionally dabble in C, C++ and Java. My programs are available for download on my web-site: http://homepages.tesco.net/~p.d.johnson/
I can be contacted by e-mail on peter.johnson@openlink.org.