• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 474
  • Last Modified:

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

Hello,

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  
0
Firlefanz
Asked:
Firlefanz
  • 6
  • 3
1 Solution
 
AlexFMCommented:
Maybe this sample can be useful for you:

http://www.freevbcode.com/ShowCode.ASP

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.
0
 
AlexFMCommented:
0
 
AlexFMCommented:
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.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
FirlefanzAuthor Commented:
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!
0
 
AlexFMCommented:
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.
0
 
FirlefanzAuthor Commented:
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 :)
0
 
AlexFMCommented:
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.


0
 
TigerZhaoCommented:
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.
0
 
FirlefanzAuthor Commented:
@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.
0
 
AlexFMCommented:
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.
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 6
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now