Solved

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

Posted on 2003-11-21
11
457 Views
Last Modified: 2007-12-19
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
Comment
Question by:Firlefanz
  • 6
  • 3
11 Comments
 
LVL 48

Expert Comment

by:AlexFM
ID: 9796922
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
 
LVL 48

Expert Comment

by:AlexFM
ID: 9796929
0
 
LVL 48

Expert Comment

by:AlexFM
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.
0
 

Author Comment

by:Firlefanz
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!
0
 
LVL 48

Expert Comment

by:AlexFM
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.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:Firlefanz
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 :)
0
 
LVL 48

Expert Comment

by:AlexFM
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.


0
 
LVL 4

Expert Comment

by:TigerZhao
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.
0
 

Author Comment

by:Firlefanz
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.
0
 
LVL 48

Accepted Solution

by:
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.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

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…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
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…

762 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

21 Experts available now in Live!

Get 1:1 Help Now