?
Solved

MDI Child Window Size

Posted on 2002-06-19
8
Medium Priority
?
660 Views
Last Modified: 2010-04-04
Hi Guys,
  I'm having a problem with MDI Child windows.

It appears that I cannot set the height of the child greater than 780.  Why is this? And how can I override this behaviour?

I'm using Delphi 6 Ent and Win2k

:To reproduce
Use delphi's project wizard to create a standard MDI application.  In the 'CreateMDIChild' procedure add  

Child.Height := 1000;
Child.Width := 1024;

and evaluate height after it has executed it.  The value is still 780 and will not go any higher.


Many Thanks
Woody
0
Comment
Question by:WoodyJ007
  • 5
  • 2
8 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7092047
the height and width of a child is corrected by os(?),
for view as cascade-style,

you may re-adjust width and height,
in a (maybe onshow) event

meikl ;-)
0
 

Author Comment

by:WoodyJ007
ID: 7092050
No.  Even after the child has been created I can not get the window bigger than 780.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7092063
? maybe you've it maximized,

in this case the childform fits into the clientarea of the mainform, and any try of a change may then resetted to mainform-clientarea-size

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:WoodyJ007
ID: 7092085
Nope.  Try creating a project using the wizard and you'll see what I mean.  I've tried changing my screen resolution up to 1280 by 960 and the child allows me to change it's size to 978 but no higher!

So your right about the OS somehow fixing the maximum size but now I need a way of overriding it.
0
 

Author Comment

by:WoodyJ007
ID: 7092190
I've now tried this in VB and VC++ all of which give the same results.

This is standard windows behaviour.....but can it be overridden???

Cheers
0
 

Author Comment

by:WoodyJ007
ID: 7092200
hmmmmm... setting the BorderStyle to bsSingle DOES allow the height to be set greater than 780.
0
 
LVL 2

Accepted Solution

by:
Tasomia earned 1200 total points
ID: 7092247
Hi,

Trap the WM_GETMINMAXINFO message to allow a heigher
size.

tas


  private
      procedure GetMinMaxInfo(var Msg: TWMGETMINMAXINFO); message WM_GETMINMAXINFO;
  public
  end;

var
  MDIForm: TMDIForm;

implementation

{$R *.DFM}

procedure TMDIForm.GetMinMaxInfo(var Msg: TWMGETMINMAXINFO);
begin
  inherited;
  with Msg.MinMaxInfo^ do
  begin
    ptMaxTrackSize.Y := 2000; // max. Height
  end;
end;


procedure TMDIForm.Button1Click(Sender: TObject);
begin
  MDIForm.Height := 1000;
end;
0
 

Author Comment

by:WoodyJ007
ID: 7092256
Superb!

Thanks.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Screencast - Getting to Know the Pipeline
As many of you are aware about Scanpst.exe utility which is owned by Microsoft itself to repair inaccessible or damaged PST files, but the question is do you really think Scanpst.exe is capable to repair all sorts of PST related corruption issues?
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question