Using a form as MDIContainer - making clientsize smaller for MDI Childs

Posted on 2003-11-21
Last Modified: 2007-12-19

I am unsing one form as MDI Container. I have an image on top of my form.

Now I have several other forms as MDIchilds.

If I set one MDIChild to maximize, its head has dissappeared under my Image and the whole window looks very strange. How can I make the clientsize in which the MDIchilds are allowed to move etc smaller? I don't want the MDIChilds in the whole MDIParent Form, just in a part of it, so I can see my image and move the mdichild under the image.

Can I do this !!without!! having to set all corrdinates and methods for each of my MDIchilds?

Thank you very much  
Question by:Firlefanz
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
  • 6
  • 3
LVL 48

Expert Comment

ID: 9796922
Maybe this sample can be useful for you:

Change splitter orientation to horizontal and fill top pane with the image instead of controls. I set MaxButton property in the child form to True and it behaves as needed.
LVL 48

Expert Comment

ID: 9796929
LVL 48

Expert Comment

ID: 9796989
One more: splitter in this sample can be easily converted to fixed (non-resizable). Set MousePointer of picVBar to Default and comment line bDrag = True in picVBar_MouseDown.
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now


Author Comment

ID: 9797383
Okay, thanks for the idea. The only problem is here: When I maximize the MDIchild (I put the maximize box on it) and change the picturebox to horizontal over the wolhe forms width, and afterwards maximize the mdichild, the head (bar at to of the mdichild with minimize icon etc) is again over my banner (here the picturebox) and not under it!!

It is better, but still the mdichilds top-bar is over my banner!
LVL 48

Expert Comment

ID: 9797451
Cannot reproduce this behaviour. What do you mean "change the picturebox to horizontal over the whole forms width". Dynamically?  I assume that it is always horizontal, set in the form designer.

Author Comment

ID: 9797817
In the sample there are some things to the left, and the mdichild is in the right half.
i changed it so it is in the under half, and the picturebox is above the mdichild.

when you maximize the mdichild then, the mdichildform itself is under the picturebox, but the bar on top
of the mdichildform is above the picturebox, not under it, like it should!

thanks for your interest and suggestions :)
LVL 48

Expert Comment

ID: 9798491
I continue to play with this sample ant here are the results:
1) Remove all controls from FRMMain except: menus, picVar and Status.
2) Set picVar alignment to AlignTop and place it in the top part of the window
3) I added also line control to the top part of AlignTop to see whether some part of it is obscured
4) Remove lines of code which are not compiled
5) Run the sample, open child form and maximize it.

I can see that title bar of the child form is above the picture box, however, picture box is not obscured and may show any image or animation without problems.
I will try something else and will return later.


Expert Comment

ID: 9807840
To Firlefanz:
In VB, you can put a PictureBox on MDIForm to show some picture you want, and need not a "MDI Containter" to act this feature.

Author Comment

ID: 9808773
@AlexFM: Thanks, this it okay like you told me, the only problem is I want that title bar UNDER the picturebox, then this would be ok! it would be even better if I could turn that title bar off, because I have own icons on the form and I want to hide the title bar. the only problem is that the title bar appears again, when I maximize the mdi child.

@TigerZhao: I know, thank you. I must use mdichilds for my program, this is the way the program has to look like, and I must make it this way. Has nothing to do with the picturebox, I only want to show some banner.
LVL 48

Accepted Solution

AlexFM earned 500 total points
ID: 10162540
My answer give partial solution of the problem. Howerver, if Firlefanz wants his points back because there is no full solution, I have no objections.

Featured Post

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!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Prevent checkbox click event occur while editing it in vb6 8 73
using web browser with BING 40 148
VBA Shell can't Find Word document 11 155
Child Form in front 4 65
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…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
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 Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

737 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