Solved

MDI Child Window Size

Posted on 2002-06-19
8
621 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
 

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
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 

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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

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…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

760 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now