Preventing resize of MDI Child forms

Posted on 2002-06-06
Last Modified: 2008-03-17
In my visual basic application , I have lot of MDI Child form. Out of all the MDI Child form , one MDI child form is always in the open state. My problem is that form is getting resized when the other MDI child form resized(minimize,maximize,restored). I want that one MDI child form should not get resized automatically.
Question by:sarankrishna
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

Expert Comment

ID: 7061008
Hi Sarakrishna,

To prevent the resizing of MDI Child Forms
just change the one property of the MDI Child Forms

That Property is BorderStyle ( Change it to FixedDialog or any of the FixedBorder Style )

Now the user will not be able to resize the MDI Child Forms.


Author Comment

ID: 7061068

my problme is if I restore one MDI child form other child form geting resized automatically. I want to allow only manual resize
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7062564

Welcome to EE!  Please re-read the EE Guidelines ( regarding locking questions with answers.  Typically here we post solutions as comments.

Technology Partners: 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!


Expert Comment

ID: 7064021
Can't U just make it a separate form (Not MDI CHILD!!!)

Author Comment

ID: 7064032
No I want a MDI Child only

Expert Comment

ID: 7069874
Its not easy, especially if you want the user to be able to manually resize it.

1)  Add a picturebox control to the mdi form.  In the resize event of the mdi, size the picturebox to fill the entire area of the mdi.
2)  declare the SetParent api:

   Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

3)  set the parent of your mdi child to the picture box.

SetParent NameOfChildForm.hWnd, Me.Picture1.hWnd

The above line assumes the code is in the mdi form somewhere, hence the Me.Picture1.

4)  Since the child is now owned by the picture box, the normal resize stuff that happens automatically in an mdi no longer affect it.
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7070063

You may want to re-read the EE Guidelines ( maintaing your open questions.  

For the record none of sarankrishna's questions have been closed:
Questions Asked 6
Last 10 Grades Given  
Question Grading Record 0 Answers Graded / 0 Answers Received
Dynamic  image Loading.... Date: 10/16/2001 05:30AM PST
How to fix OSD-04101 ORACLE problem... Date: 09/24/2001 10:32AM PST
How to Retain the check box value in Treeview control Date: 09/24/2001 08:35PM PST
Configuring Exchange Server Mailing System Date: 02/01/2001 06:03AM PST

You can judge for yourself, whether it is worth your while to pursue any further.


Accepted Solution

AndySulz earned 300 total points
ID: 7071150
add this

private sub form_resize()
  on error resume next
  height = 1343' or what ever you want the height to be
  width = 23433 ' ""                       width    ""
end sub
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7076861
Do you need help maintaining your open questions or do you choose not to close them?

LVL 49

Expert Comment

ID: 7858191
Hi sarankrishna,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept AndySulz's comment(s) as an answer.

sarankrishna, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
DanRollins -- EE database cleanup volunteer

Expert Comment

ID: 8092460
Comment from expert accepted as answer

E-E Admin

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

749 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