Solved

MDI Child Window Size

Posted on 2002-06-19
8
642 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 300 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: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

726 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