OVH Cloud OVH Cloud

Roulette de la souris (delta)

11 réponses
Avatar
Annie L.
Comment faire pour empêcher la roulette de la souris (delta) de fonctionner
dans un Datagrid. Je veux que l'on fasse défiler le datagrid par le
'VerticalScroll' au lieu de la roulette de la souris parce que j'ai du code
rattaché au 'VerticalScroll'.

Merci de vos réponses!

10 réponses

1 2
Avatar
Zoury
Salut Annie ! :O)

C'est assez simple heureusement. Fais toi une classe héritant du DataGrid et
"override" la méthode OnMouseWheel()

Ex :
'***
Public Class DataGridEx
Inherits DataGrid

Public Sub New()
MyBase.New()
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
' on ne fait rien !
End Sub

End Class
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"Annie L." a écrit dans le message de
news:
Comment faire pour empêcher la roulette de la souris (delta) de
fonctionner
dans un Datagrid. Je veux que l'on fasse défiler le datagrid par le
'VerticalScroll' au lieu de la roulette de la souris parce que j'ai du
code
rattaché au 'VerticalScroll'.

Merci de vos réponses!





Avatar
Annie L.
Il me donne une erreur sur "OnMouseWheel". Que me manque-t-il?
Merci de votre aide!

"Zoury" a écrit :

Salut Annie ! :O)

C'est assez simple heureusement. Fais toi une classe héritant du DataGrid et
"override" la méthode OnMouseWheel()

Ex :
'***
Public Class DataGridEx
Inherits DataGrid

Public Sub New()
MyBase.New()
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
' on ne fait rien !
End Sub

End Class
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"Annie L." a écrit dans le message de
news:
> Comment faire pour empêcher la roulette de la souris (delta) de
> fonctionner
> dans un Datagrid. Je veux que l'on fasse défiler le datagrid par le
> 'VerticalScroll' au lieu de la roulette de la souris parce que j'ai du
> code
> rattaché au 'VerticalScroll'.
>
> Merci de vos réponses!
>
>
>





Avatar
Annie L.
Désolé mais j'avais écrit "ByRef" au lieu de "ByVal". Il n'y a pas d'erreur!
Merci!

"Annie L." a écrit :

Il me donne une erreur sur "OnMouseWheel". Que me manque-t-il?
Merci de votre aide!

"Zoury" a écrit :

> Salut Annie ! :O)
>
> C'est assez simple heureusement. Fais toi une classe héritant du DataGrid et
> "override" la méthode OnMouseWheel()
>
> Ex :
> '***
> Public Class DataGridEx
> Inherits DataGrid
>
> Public Sub New()
> MyBase.New()
> End Sub
>
> Protected Overrides Sub OnMouseWheel(ByVal e As
> System.Windows.Forms.MouseEventArgs)
> ' on ne fait rien !
> End Sub
>
> End Class
> '***
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
>
> "Annie L." a écrit dans le message de
> news:
> > Comment faire pour empêcher la roulette de la souris (delta) de
> > fonctionner
> > dans un Datagrid. Je veux que l'on fasse défiler le datagrid par le
> > 'VerticalScroll' au lieu de la roulette de la souris parce que j'ai du
> > code
> > rattaché au 'VerticalScroll'.
> >
> > Merci de vos réponses!
> >
> >
> >
>
>
>


Avatar
Annie L.
Cela ne fonctionne pas du tout. J'ai rajouté ce que vous m'avez dit en me
créant une classe et rien ne se passe. La roulette fonctionne toujours!!!!

"Zoury" a écrit :

Salut Annie ! :O)

C'est assez simple heureusement. Fais toi une classe héritant du DataGrid et
"override" la méthode OnMouseWheel()

Ex :
'***
Public Class DataGridEx
Inherits DataGrid

Public Sub New()
MyBase.New()
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
' on ne fait rien !
End Sub

End Class
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"Annie L." a écrit dans le message de
news:
> Comment faire pour empêcher la roulette de la souris (delta) de
> fonctionner
> dans un Datagrid. Je veux que l'on fasse défiler le datagrid par le
> 'VerticalScroll' au lieu de la roulette de la souris parce que j'ai du
> code
> rattaché au 'VerticalScroll'.
>
> Merci de vos réponses!
>
>
>





Avatar
Zoury
Salut Annie ! :O)

Cela ne fonctionne pas du tout. J'ai rajouté ce que vous m'avez dit en me
créant une classe et rien ne se passe. La roulette fonctionne toujours!!!!



Étrange...

Dis moi si avec l'exemple suivant ta roullette fonctionne toujours ?

Ajoute ces deux classes à un nouveau projet :
'***
Public Class Form1
Inherits System.Windows.Forms.Form


#Region " Code généré par le Concepteur Windows Form "

Public Sub New()
MyBase.New()

'Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()

'Ajoutez une initialisation quelconque après l'appel
InitializeComponent()

End Sub

'La méthode substituée Dispose du formulaire pour nettoyer la liste des
composants.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Requis par le Concepteur Windows Form
Private components As System.ComponentModel.IContainer

'REMARQUE : la procédure suivante est requise par le Concepteur Windows
Form
'Elle peut être modifiée en utilisant le Concepteur Windows Form.
'Ne la modifiez pas en utilisant l'éditeur de code.
Friend WithEvents DataGrid2 As DataGridEx
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
Me.DataGrid2 = New DataGridEx
CType(Me.DataGrid2,
System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DataGrid2
'
Me.DataGrid2.DataMember = ""
Me.DataGrid2.HeaderForeColor =
System.Drawing.SystemColors.ControlText
Me.DataGrid2.Location = New System.Drawing.Point(8, 16)
Me.DataGrid2.Name = "DataGrid2"
Me.DataGrid2.Size = New System.Drawing.Size(272, 216)
Me.DataGrid2.TabIndex = 0
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.DataGrid2)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataGrid2,
System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub

#End Region

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

Dim dt As New DataTable("Test")
dt.Columns.Add("Column1")

For i As Int32 = 1 To 100
dt.Rows.Add(New Object() {String.Format("Item {0}", i)})
Next

DataGrid2.DataSource = dt

End Sub

End Class
'***
Public Class DataGridEx
Inherits DataGrid

Public Sub New()
MyBase.New()
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
' on ne fait rien !
End Sub

End Class
'***


Si elle ne fonctionne plus, cela veut probablement dire qu'il y a du code
ailleurs qui interfère avec celui-ci ou encore que ton driver de souris ne
fonctionne pas comme le mien.. :O/
Peux-tu nous montrer ton code ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Annie L.
Voici le code de ma Classe. C'est une classe que tu m'as déjà construit pour
faire défiler 2 datagrid ensembles. Comme j'appelle déjà une classe pour mon
datagrid, je l'ai inclus à l'intérieur. J'ai fait ton test à part et cela
fonctionne très bien!
Voici ma classe....


Option Explicit On

Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Imports System.ComponentModel

Imports Microsoft.VisualBasic
Imports System
Imports System.Drawing
Imports System.Drawing.Drawing2D


<Flags()> _
Public Enum ScrollModes
NotSet = 0
Horizontal = 1
Vertical = 2
'Both = 3
Both = ScrollModes.Horizontal Or ScrollModes.Vertical
End Enum


Public Class LinkableDataGrid
Inherits DataGrid

' attributs
Private _eScrollMode As ScrollModes
Private _dgLinkedGrid As LinkableDataGrid

' variables
Private _bLinkedGridIsChanging As Boolean
Private _bScrollModeIsChanging As Boolean
Private _bIgnoreGridLinkedEvent As Boolean

Private Const WM_SETCURSOR As Int32 = &H20



<DefaultValue(ScrollModes.NotSet)> _
Public Property ScrollMode() As ScrollModes
Get
Return _eScrollMode
End Get
Set(ByVal Value As ScrollModes)
If ((Not _bScrollModeIsChanging) And (Not
_bLinkedGridIsChanging)) Then
_eScrollMode = Value
If (Not _dgLinkedGrid Is Nothing) Then
_bScrollModeIsChanging = True
_dgLinkedGrid.ScrollMode = Value
_bScrollModeIsChanging = False
End If
End If
End Set
End Property



Public Property LinkedGrid() As LinkableDataGrid
Get
Return _dgLinkedGrid
End Get
Set(ByVal Value As LinkableDataGrid)
' vérifie si une modifs est en cours
' si oui, on passe notre tour..
' cela évite la récursion infinie
' qui est causé par le fait que l'on modifie
' la propriété LinkedGrid de notre _dgLinkedGrid
' se qui déclancherait l'événement à nouveau...
If ((Not _bScrollModeIsChanging) And (Not
_bLinkedGridIsChanging)) Then
' vérifie la nouvelle valeur
' si elle est à Nothing, c'est que l'on veut délier les
grilles()
' sinon, on branche les grilles ensembles..
If ((Value Is Nothing) And (Not _dgLinkedGrid Is Nothing))
Then
_bLinkedGridIsChanging = True
_dgLinkedGrid.LinkedGrid = Nothing
_bLinkedGridIsChanging = False
_dgLinkedGrid = Nothing
ElseIf (Not _dgLinkedGrid Is Value) Then
_dgLinkedGrid = Value
_bLinkedGridIsChanging = True
_dgLinkedGrid.LinkedGrid = Me
_bLinkedGridIsChanging = False
_dgLinkedGrid.HorizScrollValue = Me.HorizScrollValue
_dgLinkedGrid.VertScrollValue = Me.VertScrollValue
_dgLinkedGrid.ScrollMode = _eScrollMode
End If
End If
End Set
End Property


Public Property HorizScrollValue() As Int32
Get
Return Me.HorizScrollBar.Value
End Get
Set(ByVal Value As Int32)
Me.HorizScrollBar.Value = Value
End Set
End Property



Public Property VertScrollValue() As Int32
Get
Return Me.VertScrollBar.Value
End Get
Set(ByVal Value As Int32)
Me.VertScrollBar.Value = Value
End Set
End Property




Protected Overrides Sub GridHScrolled(ByVal sender As Object, ByVal se
As System.Windows.Forms.ScrollEventArgs)
If (Not _bIgnoreGridLinkedEvent) Then
MyBase.GridHScrolled(sender, se)
If ((Not _dgLinkedGrid Is Nothing) And ((_eScrollMode And
ScrollModes.Horizontal) = ScrollModes.Horizontal)) Then
_dgLinkedGrid.HorizScrollValue = se.NewValue
_bIgnoreGridLinkedEvent = True
_dgLinkedGrid.GridHScrolled(sender, se)
_bIgnoreGridLinkedEvent = False
End If
End If
End Sub



Protected Overrides Sub GridVScrolled(ByVal sender As Object, ByVal se
As System.Windows.Forms.ScrollEventArgs)
If (Not _bIgnoreGridLinkedEvent) Then
MyBase.GridVScrolled(sender, se)
If ((Not _dgLinkedGrid Is Nothing) And ((_eScrollMode And
ScrollModes.Vertical) = ScrollModes.Vertical)) Then
_dgLinkedGrid.VertScrollValue = se.NewValue
_bIgnoreGridLinkedEvent = True
_dgLinkedGrid.GridVScrolled(sender, se)
_bIgnoreGridLinkedEvent = False
End If
End If
End Sub


Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)

' Empêche le redimensionnement
' -> parce que le MouseDown est impossible lorsque
' le curseur est situé au dessus de la tite barre de
' séparation de colonne
If (Me.HitTest(e.X, e.Y).Type = HitTestType.ColumnResize) Then
Return
End If

MyBase.OnMouseDown(e)

End Sub

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

' Empêche le curseur de changer lorsque le curseur
' passe au dessus de la tite barre de
' séparation de colonne
If (m.Msg = WM_SETCURSOR) Then
If (Me.HitTest(Me.PointToClient(Control.MousePosition)).Type =
HitTestType.ColumnResize) Then
Return
End If
End If

MyBase.WndProc(m)
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
'on ne fais rien
End Sub

End Class





C'est peut-être ce petit bout que je ne sais pas où mettre..

Public Sub New()
MyBase.New()
End Sub
Avatar
Zoury
> Voici le code de ma Classe. C'est une classe que tu m'as déjà construit
pour
faire défiler 2 datagrid ensembles. Comme j'appelle déjà une classe pour
mon
datagrid, je l'ai inclus à l'intérieur. J'ai fait ton test à part et cela
fonctionne très bien!




hmm... j'ai intégré la classe LinkableDataGrid dans mon exemple et ça
fonctionne..


peux-tu (ré)essayé cet exemple dans un nouveau projet :
'***
Public Class Form1
Inherits System.Windows.Forms.Form


#Region " Code généré par le Concepteur Windows Form "

Public Sub New()
MyBase.New()

'Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()

'Ajoutez une initialisation quelconque après l'appel
InitializeComponent()

End Sub

'La méthode substituée Dispose du formulaire pour nettoyer la liste des
composants.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Requis par le Concepteur Windows Form
Private components As System.ComponentModel.IContainer

'REMARQUE : la procédure suivante est requise par le Concepteur Windows
Form
'Elle peut être modifiée en utilisant le Concepteur Windows Form.
'Ne la modifiez pas en utilisant l'éditeur de code.
Friend WithEvents LinkableDataGrid1 As LinkableDataGrid
Friend WithEvents LinkableDataGrid2 As LinkableDataGrid
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
Me.LinkableDataGrid1 = New LinkableDataGrid
Me.LinkableDataGrid2 = New LinkableDataGrid
CType(Me.LinkableDataGrid1,
System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LinkableDataGrid2,
System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'LinkableDataGrid1
'
Me.LinkableDataGrid1.DataMember = ""
Me.LinkableDataGrid1.HeaderForeColor =
System.Drawing.SystemColors.ControlText
Me.LinkableDataGrid1.HorizScrollValue = 0
Me.LinkableDataGrid1.LinkedGrid = Nothing
Me.LinkableDataGrid1.Location = New System.Drawing.Point(8, 16)
Me.LinkableDataGrid1.Name = "LinkableDataGrid1"
Me.LinkableDataGrid1.ScrollMode =
WindowsApplication1.ScrollModes.NotSet
Me.LinkableDataGrid1.Size = New System.Drawing.Size(272, 216)
Me.LinkableDataGrid1.TabIndex = 0
Me.LinkableDataGrid1.VertScrollValue = 0
'
'LinkableDataGrid2
'
Me.LinkableDataGrid2.DataMember = ""
Me.LinkableDataGrid2.HeaderForeColor =
System.Drawing.SystemColors.ControlText
Me.LinkableDataGrid2.HorizScrollValue = 0
Me.LinkableDataGrid2.LinkedGrid = Nothing
Me.LinkableDataGrid2.Location = New System.Drawing.Point(280, 16)
Me.LinkableDataGrid2.Name = "LinkableDataGrid2"
Me.LinkableDataGrid2.ScrollMode =
WindowsApplication1.ScrollModes.NotSet
Me.LinkableDataGrid2.Size = New System.Drawing.Size(272, 216)
Me.LinkableDataGrid2.TabIndex = 1
Me.LinkableDataGrid2.VertScrollValue = 0
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(576, 266)
Me.Controls.Add(Me.LinkableDataGrid2)
Me.Controls.Add(Me.LinkableDataGrid1)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.LinkableDataGrid1,
System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LinkableDataGrid2,
System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub

#End Region

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

Dim dt As New DataTable("Test")
dt.Columns.Add("Column1")

For i As Int32 = 1 To 100
dt.Rows.Add(New Object() {String.Format("Item {0}", i)})
Next

LinkableDataGrid1.DataSource = dt
LinkableDataGrid2.DataSource = dt

LinkableDataGrid1.LinkedGrid = LinkableDataGrid2
LinkableDataGrid1.ScrollMode = ScrollModes.Vertical

End Sub

End Class
'***
Option Explicit On

Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Imports System.ComponentModel

Imports Microsoft.VisualBasic
Imports System
Imports System.Drawing
Imports System.Drawing.Drawing2D


<Flags()> _
Public Enum ScrollModes
NotSet = 0
Horizontal = 1
Vertical = 2
'Both = 3
Both = ScrollModes.Horizontal Or ScrollModes.Vertical
End Enum

Public Class LinkableDataGrid
Inherits DataGrid

' attributs
Private _eScrollMode As ScrollModes
Private _dgLinkedGrid As LinkableDataGrid

' variables
Private _bLinkedGridIsChanging As Boolean
Private _bScrollModeIsChanging As Boolean
Private _bIgnoreGridLinkedEvent As Boolean

Private Const WM_SETCURSOR As Int32 = &H20

<DefaultValue(ScrollModes.NotSet)> _
Public Property ScrollMode() As ScrollModes
Get
Return _eScrollMode
End Get
Set(ByVal Value As ScrollModes)
If ((Not _bScrollModeIsChanging) And (Not
_bLinkedGridIsChanging)) Then
_eScrollMode = Value
If (Not _dgLinkedGrid Is Nothing) Then
_bScrollModeIsChanging = True
_dgLinkedGrid.ScrollMode = Value
_bScrollModeIsChanging = False
End If
End If
End Set
End Property

Public Property LinkedGrid() As LinkableDataGrid
Get
Return _dgLinkedGrid
End Get
Set(ByVal Value As LinkableDataGrid)
' vérifie si une modifs est en cours
' si oui, on passe notre tour..
' cela évite la récursion infinie
' qui est causé par le fait que l'on modifie
' la propriété LinkedGrid de notre _dgLinkedGrid
' se qui déclancherait l'événement à nouveau...
If ((Not _bScrollModeIsChanging) And (Not
_bLinkedGridIsChanging)) Then
' vérifie la nouvelle valeur
' si elle est à Nothing, c'est que l'on veut délier les
grilles()
' sinon, on branche les grilles ensembles..
If ((Value Is Nothing) And (Not _dgLinkedGrid Is Nothing))
Then

_bLinkedGridIsChanging = True
_dgLinkedGrid.LinkedGrid = Nothing
_bLinkedGridIsChanging = False
_dgLinkedGrid = Nothing
ElseIf (Not _dgLinkedGrid Is Value) Then
_dgLinkedGrid = Value
_bLinkedGridIsChanging = True
_dgLinkedGrid.LinkedGrid = Me
_bLinkedGridIsChanging = False
_dgLinkedGrid.HorizScrollValue = Me.HorizScrollValue
_dgLinkedGrid.VertScrollValue = Me.VertScrollValue
_dgLinkedGrid.ScrollMode = _eScrollMode
End If
End If
End Set
End Property

Public Property HorizScrollValue() As Int32
Get
Return Me.HorizScrollBar.Value
End Get
Set(ByVal Value As Int32)
Me.HorizScrollBar.Value = Value
End Set
End Property



Public Property VertScrollValue() As Int32
Get
Return Me.VertScrollBar.Value
End Get
Set(ByVal Value As Int32)
Me.VertScrollBar.Value = Value
End Set
End Property

Protected Overrides Sub GridHScrolled(ByVal sender As Object, _
ByVal se As
System.Windows.Forms.ScrollEventArgs)
If (Not _bIgnoreGridLinkedEvent) Then
MyBase.GridHScrolled(sender, se)
If ((Not _dgLinkedGrid Is Nothing) AndAlso _
((_eScrollMode And ScrollModes.Horizontal) =
ScrollModes.Horizontal)) Then
_dgLinkedGrid.HorizScrollValue = se.NewValue
_bIgnoreGridLinkedEvent = True
_dgLinkedGrid.GridHScrolled(sender, se)
_bIgnoreGridLinkedEvent = False
End If
End If
End Sub
Protected Overrides Sub GridVScrolled(ByVal sender As Object, _
ByVal se As
System.Windows.Forms.ScrollEventArgs)
If (Not _bIgnoreGridLinkedEvent) Then
MyBase.GridVScrolled(sender, se)
If ((Not _dgLinkedGrid Is Nothing) AndAlso _
((_eScrollMode And ScrollModes.Vertical) =
ScrollModes.Vertical)) Then
_dgLinkedGrid.VertScrollValue = se.NewValue
_bIgnoreGridLinkedEvent = True
_dgLinkedGrid.GridVScrolled(sender, se)
_bIgnoreGridLinkedEvent = False
End If
End If
End Sub

Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)

' Empêche le redimensionnement
' -> parce que le MouseDown est impossible lorsque
' le curseur est situé au dessus de la tite barre de
' séparation de colonne
If (Me.HitTest(e.X, e.Y).Type = HitTestType.ColumnResize) Then
Return
End If

MyBase.OnMouseDown(e)

End Sub

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

' Empêche le curseur de changer lorsque le curseur
' passe au dessus de la tite barre de
' séparation de colonne
If (m.Msg = WM_SETCURSOR) Then
If (Me.HitTest(Me.PointToClient(Control.MousePosition)).Type = _
HitTestType.ColumnResize) Then
Return
End If
End If

MyBase.WndProc(m)
End Sub

Protected Overrides Sub OnMouseWheel(ByVal e As
System.Windows.Forms.MouseEventArgs)
'on ne fait rien
End Sub

End Class
'***

Les deux grilles devrait être lier l'une à l'autre et ne devrait pas réagir
lorsque l'on emploi la roulette.
Si ça fonctionne, c'est que ton problème se trouve ailleurs... peux-tu nous
poster le code du formulaire contenant les grilles ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Annie L.
Qu'as-tu changer dans le code que tu m'as envoyé???
T'envoyer le code du formulaire serais trop énorme! Les grilles sont remplis
manuellement (par le code) selon les horaires des employés
Voici les fonctions appelés :

SetupDataGridForControls_HeuresEmploye()
SetupDataGridForControls_EquipPoste()

SetupDataGridForControls_CarnetRV()
SetupDataGridForControls_Heures()

RemplirHoraireDuJour_CarnetRV(Today)
'Lie les 2 datagrid - scroll Vertical seulement
Me.dgdCarnetHeures.LinkedGrid = Me.dgdCarnetRV
Me.dgdCarnetRV.ScrollMode = 2


Il faudrait que je t'envoie tout le formulaire (plus de 7000 lignes) et pas
évident à comprendre mais cela fonctionne très bien sauf pour la roulette de
la souris.
Qu'est ce que je fais?
Avatar
Zoury
> Qu'as-tu changer dans le code que tu m'as envoyé???



J'ai fusionné les 2 classes ensemble pour voir si le traitement de la
LinkableDataGrid affectait celle de la DataGridEx.. apparement non (du moins
dans mon exemple). Ce nouvel exemple fonctionne-t-il sur ton poste ? si oui
c'est que ton problème si situe ailleurs...

T'envoyer le code du formulaire serais trop énorme!



Ok.

Si tu commentes tout le code "superflu" pour ne laisser que l'initialisation
minimales des grilles , est-ce que ça fonctionne ? Si oui, décommente bout
par bout et test à chaque fois... tu finiras surement par mettre la main sur
ce qui affecte l'annulation de la roulette..


--
Cordialement
Yanick
MVP pour Visual Basic
"Annie L." a écrit dans le message de
news:
Qu'as-tu changer dans le code que tu m'as envoyé???
T'envoyer le code du formulaire serais trop énorme! Les grilles sont
remplis
manuellement (par le code) selon les horaires des employés
Voici les fonctions appelés :

SetupDataGridForControls_HeuresEmploye()
SetupDataGridForControls_EquipPoste()

SetupDataGridForControls_CarnetRV()
SetupDataGridForControls_Heures()

RemplirHoraireDuJour_CarnetRV(Today)
'Lie les 2 datagrid - scroll Vertical seulement
Me.dgdCarnetHeures.LinkedGrid = Me.dgdCarnetRV
Me.dgdCarnetRV.ScrollMode = 2


Il faudrait que je t'envoie tout le formulaire (plus de 7000 lignes) et
pas
évident à comprendre mais cela fonctionne très bien sauf pour la roulette
de
la souris.
Qu'est ce que je fais?



Avatar
Annie L.
Ne cherchons plus! J'ai trouvé l'erreur. En fait, mon projet faisait
référence à ma classe sur un autre disque dur (ancien) que celui sur lequel
je travaille présentement. J'ai corrigé la situation et cela fonctionne très
bien!
Un gros merci!

P.S. Pourrais-tu regarder l'autre rubrique que j'ai envoyé sur ce forum et
qui s'intitule "Fichier d'aide .chm"

Encore une fois Merci!

"Zoury" a écrit :

> Qu'as-tu changer dans le code que tu m'as envoyé???

J'ai fusionné les 2 classes ensemble pour voir si le traitement de la
LinkableDataGrid affectait celle de la DataGridEx.. apparement non (du moins
dans mon exemple). Ce nouvel exemple fonctionne-t-il sur ton poste ? si oui
c'est que ton problème si situe ailleurs...

> T'envoyer le code du formulaire serais trop énorme!

Ok.

Si tu commentes tout le code "superflu" pour ne laisser que l'initialisation
minimales des grilles , est-ce que ça fonctionne ? Si oui, décommente bout
par bout et test à chaque fois... tu finiras surement par mettre la main sur
ce qui affecte l'annulation de la roulette..


--
Cordialement
Yanick
MVP pour Visual Basic
"Annie L." a écrit dans le message de
news:
> Qu'as-tu changer dans le code que tu m'as envoyé???
> T'envoyer le code du formulaire serais trop énorme! Les grilles sont
> remplis
> manuellement (par le code) selon les horaires des employés
> Voici les fonctions appelés :
>
> SetupDataGridForControls_HeuresEmploye()
> SetupDataGridForControls_EquipPoste()
>
> SetupDataGridForControls_CarnetRV()
> SetupDataGridForControls_Heures()
>
> RemplirHoraireDuJour_CarnetRV(Today)
> 'Lie les 2 datagrid - scroll Vertical seulement
> Me.dgdCarnetHeures.LinkedGrid = Me.dgdCarnetRV
> Me.dgdCarnetRV.ScrollMode = 2
>
>
> Il faudrait que je t'envoie tout le formulaire (plus de 7000 lignes) et
> pas
> évident à comprendre mais cela fonctionne très bien sauf pour la roulette
> de
> la souris.
> Qu'est ce que je fais?
>





1 2