You could try something like:
protected
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
[...]
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
inherited;
if ((Msg.CmdType and $FFF0) = SC_MAXIMIZE) or
((Msg.CmdType and $FFF0) = SC_RESTORE) then
// do stuff here
end;
This worked for me when I needed to know if the form was maximized or
restored (in my case).
Hope it helps,
JED
-----Original Message-----
From: Trevor Jones [mailto:[EMAIL PROTECTED]
Sent: 2 June 2004 2:33 PM
To: NZ Borland Developers Group - Delphi List
Subject: [DUG] Detecting Maximize/Restore of a parent
I have an app which is basically a wrapper and container for forms.
These forms are parented by an area on the main form.
Each of the forms has the ability to save information about control position
and size, and can do so for when the app is maximized, and when it isn't.
If you use forms with lots of splitters or dynamically controlled control
sizes which are also persistent, you will know what I mean.
So, if the main form is 800 by 600, one set of alignments is used. When
the app is maximized (which on my machine means 1280 by 1024), another set
of alignments come into force.
I have all of the code to deal with the 2 situations, but am a little bit
stuck in how to find out when the maximized state of the parent (or parent's
parent) has changed. Currently I am using WM_SIZE, and walking the parent
list to find out whether or not the app's maximized state has changed, but
this seems ugly. Any suggestions?
_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi