Backgroundpicture in MDI-parent


How to get a backgroundpicture in MDI-form that resizes when i change size on the form.
If i put a picturebox with a image on the picturebox cover my MDI-Childs.
How to send the picturebox to the back ?
Any other solutions ??
Anyone having a idea ???

/Janne Sweden

This is my code:

Private Sub MDIForm_Resize()
On Error Resume Next
    pic(0).Align = 1
    pic(0).Height = Me.Height
    img.Left = 0: img.Top = 0
    img.Height = pic(0).Height: img.Width = pic(0).Width
End Sub
Who is Participating?
DPickeringConnect With a Mentor Commented:
Goto :  (excellent site!!)

From this site you can download hundreds of tips and sample applications in one zip file. Lots of good stuff there :)

There is an entry in the list called:
Give an MDIForm a resizing background picture (3K)

I tried it out but it didn't refresh properly when resizing, so you're probably going to have to get your hands dirty using the API to try and refresh the MDI window - because there is no Refresh property and no CLS method available. Try these APIs:
* UpdateWindow
* SetWindowLong (there's example code for this somewhere in one of the sample projects in the vb-helper web site. Good luck!)

Is there anything in the back to move to the front. If so, then you could achieve this via the zorder. Else you could play around with the picturebox's visibility property.
If I remember well, I think the MDIForm has an "image" or "picture" property where you can set a background picture for your MDI form.
If your picture is a Metafile it will be resized automatically, f it is a bitmap, maybe not..
As I said before....that's what I remember, it can be False, I haven't VB installed and can't test it... anyway .....

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

You can assign the picture property of the mdiform with another (invisible) picture
mdiform1.picture = picture1
janneaAuthor Commented:
Hello, ant thanks for comments...


Sorry, the zorder dosen´t effect it. The picturebox is still in front of my MDI-Childs.
If the picturebox's visibility property = False I can´t see it ?!.

It´s true with the metafile, it will be resized automatically. But how to convert my bmp to wmf or emf to use it like this.

But i still have to have a visible picturebox. And the problem is that this visible one will stay on top and cover my MDI-Childs.

Set visible to false for the picturebox
janneaAuthor Commented:


In reply to your comment to me:
Bitmaps and Metafiles are completely different and it's very hard  to convert one into another.... As you know bitmaps save the colorvalue of individual pixels on a file, while metafiles, instead, store vectors.... You can thus resize metafiles without loosing any graphic detail, this is not the same for bitmaps... On the other hand BitMaps are useful to store high detailed graphics like your own photo... but try to imagne how to draw a photo ina MetaFile only with Vectors !!!
You can easily convert a WMF or EMF to a bitmap (Caputring the screen or something)... but converting from BMP to MetaFile is rather more difficult.... There are programs like CorelTrace (included in CorelDraw) that have the ability to vectorize bitmaps... you could try such programs..

janneaAuthor Commented:

Thanks for your comment. But the answer I did get was OK for me. Now the user can change the backgroundpicture more easy, coz of bmp is a more common format for pictures you create you self instead of wmf or emf.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.