MDI Picture [Résolu]

tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 5 juil. 2006 à 08:36 - Dernière réponse : tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention
- 28 avril 2008 à 09:07
Bonjour à tous

J'aimerais mettre une image de fond sur le form principale de ma MDI

qui "FIT TO SCREEN" selon la taille de l'écran.

Sauf que Me.Autoredraw, Me.PaintPicture ne marche pas sur une MDI

et que je ne veux pas mettre de pictureBox sur la form car cela décale tout!

Si quelqu'un a une solution, autre que celle de charger une picture de la taille de l'écran également.

Je sais que c possible, mais je ne vois pas comment faire...

Merci pour votre aide.

TBBUIM
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 12 juil. 2006 à 15:59
3
Merci
J'ai trouvé sans subclasser
http://www.vb-helper.com/howto_mdi_background_picture.html
TBBUIM

Merci tbbuim1 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de tbbuim1
Meilleure réponse
tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 28 avril 2008 à 09:07
3
Merci
Source venant d'ici
' Make the image fit the MDI form.
Private Sub MDIForm_Resize()
Dim client_rect As RECT
Dim client_hwnd As Long

picStretched.Move 0, 0, _
ScaleWidth, ScaleHeight

' Copy the original picture into picStretched.
picStretched.PaintPicture _
picOriginal.Picture, _
0, 0, _
picStretched.ScaleWidth, _
picStretched.ScaleHeight, _
0, 0, _
picOriginal.ScaleWidth, _
picOriginal.ScaleHeight

' Set the MDI form's picture.
Picture = picStretched.Image

' Invalidate the picture.
client_hwnd = FindWindowEx(Me.hwnd, 0, "MDIClient", _
vbNullChar)
GetClientRect client_hwnd, client_rect
InvalidateRect client_hwnd, client_rect, 1
End Sub








TB
BU
IM

Merci tbbuim1 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de tbbuim1
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 5 juil. 2006 à 09:40
0
Merci
Il faut SubClasser ta fenetre

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Any_Problem_Have_Solution 4 Messages postés samedi 14 avril 2007Date d'inscription 12 janvier 2009 Dernière intervention - 27 avril 2008 à 16:35
0
Merci
On peut faire aussi comme ceci :

Mettre 2 pictureBox sur la MDIForm : PictureOriginal et PictureStrech
(mettre le PictureOriginal en visible = false)

Mettre aussi un timer : TimerResize
(mettre l'interval du timer a 10 par exemple)

Le but de ce timer va être d'attendre la fin du resize de la form car si on clique sur le bouton agrandir de la feuille sans mettre une toute petite temporisation alors ca va merder !!!

Voici le code :

Private Sub MDIForm_Resize()

    TimerResize.Enabled = True

End Sub

Private Sub TimerResize_Timer()

    TimerResize = False
    PictureStrech.Move 0, 0, MDIForm1.Width, MDIForm1.Height - 500
    PictureStrech.Picture = PictureOriginal.Picture
    PictureStrech.PaintPicture PictureStrech.Picture, 0, 0, PictureStrech.ScaleWidth, PictureStrech.ScaleHeight

End Sub

Voila  @+
Commenter la réponse de Any_Problem_Have_Solution
Any_Problem_Have_Solution 4 Messages postés samedi 14 avril 2007Date d'inscription 12 janvier 2009 Dernière intervention - 27 avril 2008 à 17:08
0
Merci
Oups a oui désolé !
Effectivement pour que la picture soit en MDIForm1.picture
alors oui la meilleure solution et bien celle-ci ;-)
http://www.vb-helper.com/howto_mdi_background_picture.html
Sinon on ne voit pas les childs !!!

Sorry

@+
Commenter la réponse de Any_Problem_Have_Solution

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.