begin process at 2012 02 17 04:59:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > COMPOSANT BAR DE VOLUME

COMPOSANT BAR DE VOLUME


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Source .NET ( DotNet ) Classé sous :volume, évènement, composant, image, transparent Niveau :Débutant Date de création :28/05/2006 Date de mise à jour :30/05/2006 12:57:24 Vu / téléchargé :8 686 / 869

Auteur : sousoulebarbu

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
C'est un composant .net 2005 qui ressemble au bar de volume qui sont dans tous les lecteurs audio/vidéo.
Ce code a deux intérêts:
-Tout d'abord il montre aux débutants comment créer des composants possédant des évènements et des propriétés personalisés.
-Il montre également comment utlisier des images transparentes pour les afficher aux dessus d'une autre grâce à un Panel.
-Il permet également de comprendre l'utilisation des buffers.
N'hésitez pas à laisser des commentaire pour toute remarque.

Source

  • Public Class VolumeBar
  • Private rect As System.Drawing.Rectangle
  • Private bufferG As BufferedGraphics
  • Private color As Color
  • Public Event Change_Value(ByVal value As Integer) 'Déclare l'évenement de changement de valeur
  • Private pos As Integer 'C'est la position de la boule orange par rapport au Panel1
  • Private Sub VolumeBar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • pos = 50 'Par défault, le volume est au maximum
  • bufferG = BufferedGraphicsManager.Current.Allocate(Panel1.CreateGraphics(), Panel1.DisplayRectangle)
  • End Sub
  • Private Sub Panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
  • If e.Button <> Windows.Forms.MouseButtons.None Then 'si un bouton est appuyé...
  • pos = e.Location.X - 4 '...alors on met à jour la variable qui
  • ' contient la postion de la boule.Le -4 sert à centrer la boule par rapport à la souris
  • If pos < 2 Then
  • pos = 2 'Permet de ne pas sortir de la form à gauche
  • ElseIf pos > 50 Then
  • pos = 50 'Permet de ne pas sortir de la form à droite
  • End If
  • RaiseEvent Change_Value(value) 'Appel l'évènement change_value
  • maj() 'Met à jour l'affichage du Panel1
  • End If
  • End Sub
  • Private Sub maj()
  • 'définition du rectangle dans lequel doit s'afficher
  • 'l'image correspondant au volume sélectioné (ici dégradé d'orange)
  • rect.X = 4
  • rect.Y = 0
  • rect.Width = pos
  • rect.Height = 15
  • bufferG.Graphics.Clear(Drawing.SystemColors.Control)
  • bufferG.Graphics.DrawImage(bg.Images.Item(0), 4, 0)
  • 'affichage l'image correspondant au volume sélectioné (ici dégradé d'orange)
  • bufferG.Graphics.DrawImageUnscaledAndClipped(over.Images.Item(0), rect)
  • 'dessin de l'image transparente
  • bufferG.Graphics.DrawImage(bar.Images.Item(0), pos, 1)
  • bufferG.Render()
  • End Sub
  • Property value() As Integer
  • Get
  • value = Int((pos - 2) / 48 * 100) 'Définie la valeur du contrôl
  • End Get
  • Set(ByVal val As Integer) 'Permet de changer la valeur du contrôl
  • pos = Int(val / 100 * 48 + 2) 'Change la position
  • maj() 'Met à jour l'affichage du Panel1
  • End Set
  • End Property
  • Private Sub VolumeBar_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
  • maj()
  • End Sub
  • End Class
Public Class VolumeBar
    Private rect As System.Drawing.Rectangle
    Private bufferG As BufferedGraphics
    Private color As Color
    Public Event Change_Value(ByVal value As Integer) 'Déclare l'évenement de changement de valeur
    Private pos As Integer 'C'est la position de la boule orange par rapport au Panel1
    Private Sub VolumeBar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pos = 50 'Par défault, le volume est au maximum
        bufferG = BufferedGraphicsManager.Current.Allocate(Panel1.CreateGraphics(), Panel1.DisplayRectangle)
    End Sub
    Private Sub Panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
        If e.Button <> Windows.Forms.MouseButtons.None Then 'si un bouton est appuyé...
            pos = e.Location.X - 4 '...alors on met à jour la variable qui
            ' contient la postion de la boule.Le -4 sert à centrer la boule par rapport à la souris
            If pos < 2 Then
                pos = 2 'Permet de ne pas sortir de la form à gauche
            ElseIf pos > 50 Then
                pos = 50 'Permet de ne pas sortir de la form à droite
            End If
            RaiseEvent Change_Value(value) 'Appel l'évènement change_value
            maj() 'Met à jour l'affichage du Panel1
        End If
    End Sub
    Private Sub maj()
        'définition du rectangle dans lequel doit s'afficher 
        'l'image correspondant au volume sélectioné (ici dégradé d'orange)
        rect.X = 4
        rect.Y = 0
        rect.Width = pos
        rect.Height = 15
        bufferG.Graphics.Clear(Drawing.SystemColors.Control)
        bufferG.Graphics.DrawImage(bg.Images.Item(0), 4, 0)
        'affichage l'image correspondant au volume sélectioné (ici dégradé d'orange)
        bufferG.Graphics.DrawImageUnscaledAndClipped(over.Images.Item(0), rect)
        'dessin de l'image transparente
        bufferG.Graphics.DrawImage(bar.Images.Item(0), pos, 1)
        bufferG.Render()
    End Sub
    Property value() As Integer
        Get
            value = Int((pos - 2) / 48 * 100) 'Définie la valeur du contrôl
        End Get
        Set(ByVal val As Integer) 'Permet de changer la valeur du contrôl
            pos = Int(val / 100 * 48 + 2) 'Change la position
            maj() 'Met à jour l'affichage du Panel1
        End Set
    End Property

    Private Sub VolumeBar_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        maj()
    End Sub
End Class


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

30 mai 2006 12:57:24 :
Cette mise à jour corrige le problème du clignotement ou flickering. Merci à Stephane33 pour la réponse. Si vous avez le même problème, http://www.c2i.fr/code.aspx?IDCode=613

 Sources du même auteur

Source avec Zip Source avec une capture TÉLÉCOMANDE ET MAGNÉTOSCOPE POUR LA FREEBOX

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN GIF ANIMÉ par Le Pivert
Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) MERGEIMAGES par Le Pivert
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPOSANT IMAGE LABEL par angel_of_tower

Commentaires et avis

Commentaire de Stephane33 le 29/05/2006 14:03:40 administrateur CS

Peut-être que "Me.invalidate" dans l'évenement Panel1_Paint peut résoudre ce problème

Commentaire de sousoulebarbu le 29/05/2006 17:37:37

J'ai essayé de le mettre au début et à la fin de cette fonction, sans résultat :(
Merci quand même de t'interresser à ton problème.
Quelqu'un aurait une autre proposition?

Commentaire de sousoulebarbu le 30/05/2006 12:58:54

Problème résolu grâce à l'utilisation de buffer, voir http://www.c2i.fr/code.aspx?IDCode=613.
Merci à Stephane33

Commentaire de Adn56 le 24/09/2007 15:44:18

brrrr, marche pas chez moi :(
j'ai copié la DLL (généré par Vb) dans winbouze/sys32/.
puis intégré à la barre d'outil (comme je fais pour tous les autres)
je pose le control sur une form et là au lancement il me sort :

Une exception de première chance de type 'System.NullReferenceException' s'est produite dans VolumeBar.dll
détail :
"Une erreur s'est produite lors de la création du formulaire. Pour plus d'informations, consultez Exception.InnerException. L'erreur est : La référence d'objet n'est pas définie à une instance d'un objet."}

What the fuck ??? quesque je fais de travers -_-" ???

salut

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Bleu transparent d'une image [ par Alexandre Gauthier ] Salut!Je suis entrain de faire un petit programme puis je suis bloquer la:Mon programme ouvre une image dans un imagebox.. J'aimererais savoir comment fond transparent superposé sur une image [ par lolo ] je voudrais rendre transparent le fond d'un DataCombo que j'ai mis sur une image, pourriez vous me donner la procédure.Merci faire devenir une fenêtre transparent [ par morganno ] je recherche qui peux me dire comment on fait pour faire devenir une fenêtre transparent. ça veux dire je mais une image dans mon from et quand j'exéc Ouvrir l'icone d'un raccourci dans un composant Image [ par JulienC ] Comment ouvrir l'icone que porte un raccourci dans un controle Image, la fonction LoadPicture refusant de le faire (l'extension .lnk n'étant pas connu pour mettre une image avec fond transparent [ par krater ] Voila mon probleme, j'ai une image en fond et je voudrais en ajouté une autre pardessus.Or ma seconde image est ronde donc le fond "carré" est transpa Manipulation image en .NET [ par TigerFab ] Bonjour,J'aimerai savoir comment vous feriez pour afficher une image centrée à l'écran dont ses dimensions sont plus petites que la résolution écran.. Image d'affichage d'un composant [ par Sloridan ] Salut, j'aimerais savoir comment on change l'image d'affichage d'un composant (pas l'icone). Mon composant h&#233;rite de TGraphicsControl donc il est Image transparente dans Access [ par renocmoa ] Bonjour,Je voudrais pouvoir utiliser des image aux contours transparent sur un formulaire Access. Image en .gif mais les pixel transparent sont rempli Création d'une image à partir d'un composant Vb Net [ par dieuzorro ] Bonjour Mon probl&#233;me est que je souhaite copier un composant situ&#233; sur une form dans une image pour sauver son apparence dans un fichier ima Quel composant utiliser pour tableau (texte + image) [ par clasix ] Bonjour, Je souhaite faire un tableau avec sur chaque ligne,une image en petit, et du texte multiligne...on m'a parler du listview mais je ne sais pas


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,841 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales