Passage paramètre de scrolling

Résolu
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 - 6 nov. 2006 à 08:40
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 7 nov. 2006 à 12:41
Je désire passer en paramètre une donnée provenant d'un changement de valeur d'un scroll.

La partie récuperation de la variable fonctionne
Private
Sub HScrollBar1_ValueChanged(
ByVal sender
As
Object,
ByVal e
As
System.EventArgs)
Handles HScrollBar1.ValueChanged
   traitement(HScrollBar1.Value.ToString(), e)
   Label1.Text = HScrollBar1.Value.ToString()

End
Sub
mais lors du passage des parametres pour traitement j'ai un souci avec e car ma fonction de traitement fait du dessin et n'accepte pas le e de mon event
Private

Function RafraichitHorizonArtificiel(
ByVal angle
As
Single,
ByVal e
As
System.Windows.Forms.PaintEventArgs)

   'code
end function
Quelqu'un aurait-il une idée ?
Merci

8 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
7 nov. 2006 à 12:41
Bonjour

Dans l'event de changement : hScrollBar1_ValueChanged


Tu appel : Dessine(HScrollBar1.Value)

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)

<fon></fon>
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 nov. 2006 à 12:52
Bonjour

Si tu mettais ta procédure Traitement, ce cerait mieux pour t'aider.

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)

<fon></fon>
0
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 3
6 nov. 2006 à 13:03
En fait la fonction traitment c'est la fonction  : RafraichitHorizonArtificiel(ByVal angle AsSingle,
ByVal e
As
System.Windows.Forms.PaintEventArgs)

Qui recoit en parametre la valeur du Hscroll  : "angle" mais je n'arrive pas à convertir :
en
ByVal e As System.Windows.Forms.PaintEventArgs

En VB6 c'est beaucoup plus simple ...
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 nov. 2006 à 13:22
Bonjour

Si tu utilise l'objet graphics, prend me.CreateGraphice si ton param vaut nothing, sinon, tu utilise l'object passé en param.

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)

<fon></fon>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 3
6 nov. 2006 à 13:44
Voila mon code d'essai Form1 + Hscrollbar1+label1
un mouvement de hscrollbar doit me dessiner un camembert  sur form1 (en théorie) car je n'arrive pas à utiliser les handles pour dessiner le camembert


Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



AddHandler
HScrollBar1.ValueChanged,

AddressOf



Me
.hScrollBar1_ValueChanged




End



Sub








Private



Sub
hScrollBar1_ValueChanged(

ByVal
sender

As



Object
,

ByVal
e

As
System.EventArgs)Label1.Text = HScrollBar1.Value.ToString()

dessine(HScrollBar1.Value)


End



Sub






Public



Function
dessine(

ByVal
valeur

As



Single
)


Dim
e

As
System.Windows.Forms.PaintEventArgs


Dim
rect

As



New
Rectangle(0, 0, 200, 200)e.Graphics.FillPie(Brushes.Cyan, rect, 0, valeur)


End



Function























 
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 nov. 2006 à 13:53
Bonjour

Bon voici la modification Que je te conseille :

Public
Function dessine(
ByVal valeur
As
Single,  Optional ByVal e
As System.Windows.Forms.PaintEventArgs=nothing)


Dim rect
As
New Rectangle(0, 0, 200, 200)Dim lGraphic as Graphics=nothing

if e is nothing then

    lGraphic=me.CreateGraphic

else

    lGraphic=e.Graphics

End If

lGraphic.FillPie(Brushes.Cyan, rect, 0, valeur)

if e is nothing then

    lGraphic.dispose

end if

End
Function


Pour l'appeler :

Depuis repaint : Dessine(HScrollBar1.Value,e)


Depuis l'event du scroll : Dessine(HScrollBar1.Value)

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)

<fon></fon>
0
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 3
6 nov. 2006 à 13:57
il m'indique  "Erreur 1 'CreateGraphic' n'est pas un membre de 'mscomm.Form1'. C:\mscomm\affichage\Form1.vb 20 24 mscomm
0
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 3
6 nov. 2006 à 14:00
ok ça marche , mais comment je fais pour rafraichir la fenetre à chaque modif du curseur ?
0
Rejoignez-nous