Faire defiler bitmap dans picturebox

cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012 - 8 déc. 2004 à 20:03
cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012 - 10 déc. 2004 à 19:50
bonsoir

je cherche a faire defiler une image bitmap (64x240) dans une
picturebox (64x64) j'ai decouvert que c'etait possible dans la source 27649 mais je n'ai toujours pas compris comment ça tourne .
(le code n'est pas renseigné, les variables pas explicites, pas de reponse du depositaire a mes questions et surtout mon niveau insuffisant ). Si quelqu'un avait une idée sur la façon de faire d'une façon ou d'une autre, ça me debloquerais.

merci

4 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
8 déc. 2004 à 21:13
salut

tu mets ton picturebox dans un frame avec sur le bord, un VScroll et un HScroll...

tu mets Autosize = True, ensuite tu règles les Max à picture.height - frame.height (pareil pour width)
dans les événements des scrolls tu mets :

picture.top = -vscroll.value
picture.left = -hscroll.value

enfin, ce n'est qu'une idée de début...

ShareVB
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 déc. 2004 à 21:16
mettre la Picture2 dans une Picture1

propriétés à modofier:
Picture1.AutoSize = True
Picture1.Appearance = 0
Picture1.BorderStyle = 0
Picture1.Top = 0
Picture1.Left = 0
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3

charger une image dans Picture2
déplacement de l'image avec la souris.

Option Explicit
    
Dim Bool As Boolean
Dim XX   As Integer
Dim YY   As Integer

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Bool = True    XX X: YY Y
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim dx As Integer
    Dim dy As Integer
    Dim z  As Integer
    If Bool = True Then       dx X - XX: dy Y - YY
       z = Picture2.Left + dx
       If z < 1 And z > (Picture1.Width - Picture2.Width) Then Picture2.Left = z
       z = Picture2.Top + dy
       If z < 1 And z > (Picture1.Height - Picture2.Height) Then Picture2.Top = z
       End If
End Sub

Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Bool = False
End Sub


Daniel
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
10 déc. 2004 à 17:49
On t'envois du code, voila la théorie...
En gros, tu déplace la position (Left) de ton image de maniere à la faire sortir de la picturebox qui l'encadre. Par exemple, lorsque tu sera au bout de ton image de 240 pixels de long, Left vaudra 64(taiile du cadre) - 240(taille de l'image) = -176.
Tu peut soit utiliser des ScrollBar pour la déplacer manuellement, soit un Timer et t'obtiens une animation...

;) Flachy Joe ;)
0
cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012
10 déc. 2004 à 19:50
Salut

merci a tous pour l'aide ( le code comme la theorie)
Dans le code qu'e j'ai vu il sagissait de deux picturebox
imbriquées mais je n'ai pas su le prendre en compte.
ça explique tout

merci a tous

@+
0
Rejoignez-nous