OVH Cloud OVH Cloud

Image.Move ...

5 réponses
Avatar
Daniel - Z
Bonjour.

Je fais d=E9placer une image =E0 l'aide des fl=E8ches du clavier de =
Windows et de l'=E9v=E8nement Form_KeyDown. Lors du d=E9placement de =
l'image, sous Windows XP et VB6, le fond de l'image qui est transparent =
devient noir, seulement pendant le d=E9placement. En faite, le noir est =
la couleur de s=E9lection par d=E9faut de Windows. Si vous =
s=E9lectionnez un texte, le fond appara=EEt bleu, et bien moi c'est =
noir. C'est donc cette couleur que l'objet prend.

J'aurais aim=E9 =E9viter cela, puisque cela ne fait pas tr=E8s =
professionnel, et pas tr=E8s beau !

Merci d'avance de votre aide.

=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
Cordialement
Daniel - Z

5 réponses

Avatar
François Picalausa
Bonjour/soir,

Simplement, au lieu d'utiliser un contrôle image, trace ton fond et l'image
supperposée dans un picturebox invisible (back buffer). Ensuite, tu copiera
l'image formé sur un picturebox visible (front buffer).
FrontBuffer.Picture = BackBuffer.Image
Cette technique évite cet effet de cligotement et permet de gagner en
performances, lorsqu'il y a beaucoup de traçage.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Daniel - Z" a écrit dans le message de
news:
Bonjour.

Je fais déplacer une image à l'aide des flèches du clavier de Windows et de
l'évènement Form_KeyDown. Lors du déplacement de l'image, sous Windows XP et
VB6, le fond de l'image qui est transparent devient noir, seulement pendant
le déplacement. En faite, le noir est la couleur de sélection par défaut de
Windows. Si vous sélectionnez un texte, le fond apparaît bleu, et bien moi
c'est noir. C'est donc cette couleur que l'objet prend.

J'aurais aimé éviter cela, puisque cela ne fait pas très professionnel, et
pas très beau !

Merci d'avance de votre aide.

¯¯¯¯¯¯¯¯¯¯¯¯
Cordialement
Daniel - Z
Avatar
Daniel - Z
Bonjour.

Je suis débutant et je ne suis pas sûr d'avoir tout bien compris.
Si je résume, je dois mettre l'image de fond et mon bonhomme de neige qui se déplace lui aussi dans un PictureBox.

Et c'est tout ?
Je ne comprend pas vraiment tout...
J'aimerais que vous m'expliqueriez avec un petit exemple simple.

Désolé de mon inexpérience.
Merci d'avance.

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Cordialement
Daniel - Z
Avatar
Daniel - Z
Bonjour.

J'ai juste changé le contrôle Image pour un PictureBox. Le problème c'est que, même avec la propriété FontTransparent à True, le PictureBox conserve un BackColor et refuse de se mettre transparent. L'image est elle-même transparente, c'est la même que celle qui était avant dans le contrôle Image.

Merci de m'aider.

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Cordialement
Daniel - Z
Avatar
François Picalausa
Bonjour/soir,

En gros, le code serait le suivant:
PictureBoxInvisible.PaintPicture MonImageDeFond,0,0
PictureBoxInvisible.PaintPicture MonBonhommeDeNeige, PositionX, Position Y
Set PictureBoxVisible.Picture = PictureBoxInvisible.Image

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Daniel - Z" a écrit dans le message de
news:%
Bonjour.

J'ai juste changé le contrôle Image pour un PictureBox. Le problème
c'est que, même avec la propriété FontTransparent à True, le
PictureBox conserve un BackColor et refuse de se mettre transparent.
L'image est elle-même transparente, c'est la même que celle qui était
avant dans le contrôle Image.

Merci de m'aider.

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Cordialement
Daniel - Z


Avatar
Daniel - Z
Bonjour.

Je ne comprend toujours pas.
J'utilise Visual Studio et puis mes images sont déjà créés. Mon fond est beaucoup plus grand que le bonhomme de neige évidement. C'est juste que le bonhomme de neige (le PictureBox) n'est pas transparent... C'est ça mon problème maintenant.

Avec un contrôle Image, il était facile de mettre le fond transparent, mais avec un PictureBox, je crois que c'est impossible.

Et puis je ne comprend pas du tout le petit bout de code que vous avez écrit...

Merci de m'aider.

Cordialement
Daniel - Z