Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Background de PictureBox transparent [ Divers / General ] (gribouillex)

vendredi 17 août 2007 à 11:13:43 | Background de PictureBox transparent

gribouillex

Bonjour,

J'utilise VB 6.0.
J'ai placé une grande image (via Picture) sur le fond d'un Form.
J'ai placé un control PictureBox sur ce Form (pour info, lors de l'execution, un cercle plein se dessine dans ce PictureBox, avec un Timer et tout...).
J'aimerais savoir comment je pourrais rendre transparent le fond du PictureBox.
Le rendu final souhaité : le cercle se dessine sur l'image de fond du Form. Le fond du PictureBox est invisible.

merci pour toute aide


vendredi 17 août 2007 à 12:07:33 | Re : Background de PictureBox transparent

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
pourquoi donc utiliser un pictureBox, et ainsi bouffer des ressources inutilement sachant que tu peux très bien tracer des graphiques sur ton form directement !



vendredi 17 août 2007 à 12:23:49 | Re : Background de PictureBox transparent

gribouillex

mais comment adapter ceci alors ? (je ne suis pas expert)


Private Sub Timer1_Timer()
    vall = vall + 0.2  
    Call affiche_camembert(ctrl)
End Sub

Sub affiche_camembert(camembert As PictureBox)

If vall > 300 Then
    Exit Sub
End If

camembert.Cls
camembert.AutoRedraw = True
camembert.FillStyle = 0
camembert.FillColor = vbRed
If (PI / 2) * vall / 100 < 0 Then
    camembert.Circle (camembert.ScaleWidth / 2, camembert.ScaleHeight / 2), (camembert.ScaleHeight * 0.45), vbYellow, -1.56, (PI / 2) * vall / 100
Else
    camembert.Circle (camembert.ScaleWidth / 2, camembert.ScaleHeight / 2), (camembert.ScaleHeight * 0.45), vbYellow, -1.56, (PI / 2) * (vall - 400) / 100
End If

End Sub


vendredi 17 août 2007 à 12:33:16 | Re : Background de PictureBox transparent

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Pas besoin d'être expert, c'est de la logique : tu remplace tout simplement camembert par ta form :

Dans le form_load :
MeAutoRedraw = True ' pas besoin de le faire à chaque appel !
Me.FillStyle = 0 'idem
Me.FillColor = vbRed 'idem

Private Sub Timer1_Timer()
    vall = vall + 0.2  
    Call affiche_camembert(me)
End Sub

Private Sub affiche_camembert(byref camembert As Form)
Dim valeur As Integer

If vall > 300 Then
    Exit Sub
End If

camembert.Cls

valeur = PI / 2 * (iif((PI / 2) * vall / 100 < 0, vall, vall - 400)) * 100

    camembert.Circle (camembert.ScaleWidth / 2, camembert.ScaleHeight / 2), (camembert.ScaleHeight * 0.45), vbYellow, -1.56, valeur

End Sub





vendredi 17 août 2007 à 13:36:11 | Re : Background de PictureBox transparent

gribouillex

Je précisais que je n'étais pas un expert simplement parceque j'avais besoin de détails dans la réponse... que tu as d'ailleurs très gentiment fourni.

J'ai essayé ton code, et effectivement, c'est impeccable.
Le seul souci que j'ai maintenant, c'est que je fais des affichages de contrôles sur le Form (des labels essentiellement), et lorsque le cercle se dessine, ceux-ci se mettent à clignoter... souci de réaffichages successifs j'imagine.... comment puis-je éviter ça ?

 

merci


vendredi 17 août 2007 à 13:58:18 | Re : Background de PictureBox transparent

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
En effet, c'est le soucis qui se pose (et qui devait se poser déjà lorsque tu utilisais ton picturebox) : vb retrace d'abord le fond du formulaire avant de tracer les labels vu que les labels sont des contrôles static (il ne possède pas de fenêtre rattaché), je présume que VB fait automatiquement ce qui devrait se faire manuellement : tracer les textes soit même directement sur le Form.

La solution : tracer les labels "à la main" : par code, au lieu de mettre des contrôles labels, trace les par la routine Print de VB à l'endroit voulu :

TaFeuille.CurrentX = 60
TaFeuille.CurrentY = 100
TaFeuille.Print "COUCOU"





Cette discussion est classé dans : form, fond, transparent, picturebox, background


Répondre à ce message

Sujets en rapport avec ce message

Rendre le fond de ma picturebox transparent [ par fun31 ] Bonjour à tous. Je souhaiterai que le fond de ma picturebox soit transparent pour pouvoir voir une visualisation qui se trouve derriere la picturebox [VB.net] Composant PictureBox transparent [ par claireInfo ] Pour tous ceux qui ont cherché pendant des heures la solution pour qu'un gif transparent inséré dans un composant picturePox sur une form VB.net soit Pb superposition de pictureBox [ par GranPicS ] Bonjour,Je développe une application en VB.NET où je fais bouger différentes pictureBox sur une grande PictureBox de fond ancrer dans ma Form principa une form avec un choix d'image clicable ? [ par Tyrell2 ] Bonsoir, j'ai créé une form avec plusieurs picturebox dans lequel j'ai integré une image. j'aimerai que l'image soit "clicable" pour la selectionner Imprimer picturebox... avec Me.PrintForm... ou plus proprement ??? [ par jytest ] Bonsoir à tous. J'ai vraiment besoin de votre aide J'ai beau consulter les codes... Rien ne répond à ma question. la voici. Dans une form, j'ai plus formulaire transparent [ par bonagad ] j'ai une image que je desire afficher sur ma form.mais il se trouve que lorsque je lance le formulaire en execution le bord du formulaire rendre vilai enregistrer une form dans une picturebox [ par akasha21 ] bonjour,Je voudrais faire une capture d'écran de ma form en la refermant et l'enregistrer dans une picturebox. j'ai essayé d'utiliser la fonction pain VB 2005, dessiner sur le bureau [ par tefa24600 ] Bonjour à tous, je travaille actuellement sur un petit logiciel capable de dessiner sur le bureau à l'instar de gribouille.Je suis tombé sur beaucoup listbox: image de fond ou fond transparent ? [ par jx53 ] salut a toute et a tous! j'aimerais savoir si l'un d'entre vous sais comment mettre une image comme fond a un listbox ou mettre son fond transparent p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.