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 !

UTILISATION MOLETTE ROULETTE SOURIS


Information sur la source

Catégorie :Périphériques Niveau : Initié Date de création : 05/08/2004 Date de mise à jour : 06/08/2004 14:12:48 Vu / téléchargé: 13 704 / 1 656

Note :
9,33 / 10 - par 6 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (36)
Ajouter un commentaire et/ou une note

Description

Prise en charge de la molette d'une souris pour une grille. Modification d'une source de EBArtSoft@ Mettez le code dans un module, et appelez la fonction suivante : ActiverMoletteEtDéfinirObjetScroll en mettant l'objet auquel l'action de la molette sera attaché. J'ai un peu modifié la source de EBArtSoft@, merci à lui :-)
http://www.vbfrance.com/code.aspx?ID=21802
vous devez référencer le fichier Wheel.tlb d'EBArtSoft@ dans le zip, sinon si vous déclarez les api ca ne fonctionnera pas, vb6 plantera (j'ai essayé ; EBArtSoft@ doit sans doute savoir pkoi :-) le fichier wheel.tlb contient des api, mais en mieux peut etre lol
fonctionne pour un datagrid, msflexgrid, mshflexgrid ; le reste j'ai pas testé.

Par exemple vous voulez l'attacher à un datagrid nommé datagrid1 dans une form nommé frmMain, alors faites :

    Call ActiverMoletteEtDéfinirObjetScroll(frmMain.DataGrid1)

 

Source

  • Option Explicit
  • '
  • ' Original Idea From
  • ' :) Ulli's VBMouseWheel (10.09.2002)
  • ' then
  • ' codé par EBArtSoft@ (2004) : VB6 Wheel AddIn : ebartsoft@hotmail.com
  • ' pour activer la molette dans l'éditeur de VB6, y avait un copyright
  • ' then
  • ' modifié par philippe734 pour l'activation de la molette
  • ' d'un object ayant :
  • ' soit deux scroll bar, vertical et horizontale de type
  • ' .scroll(cols as long, rows as long) (datagrid par ex)
  • ' soit de type
  • ' .toprow as long (flexgrid par ex)
  • ' Rq : Référencer le fichier Wheel.tlb de EBArtSoft@
  • '
  • Private Const REG_SZ As Long = 1
  • Private Const GWL_WNDPROC As Long = (-4)
  • Private Const MAX_PATH As Long = 260
  • Private Const WM_KILLFOCUS As Long = &H8
  • Private Const WM_MOUSEWHEEL As Long = &H20A
  • Private Const WM_MOUSEMOVE As Long = &H200
  • Private Const HKEY_CURRENT_USER As Long = &H80000001
  • Private Const PRPNAME As String = "WheelPrc"
  • Private Const HKEYDESKTOP As String = "Control Panel\Desktop"
  • Private Const HKEYLINES As String = "WheelScrollLines"
  • Private Const HKEYSMOOTH As String = "SmoothScroll"
  • Private mSmooth As Boolean
  • Private mLines As Long
  • Private mhWnd As Long
  • Private bMoletteActive As Boolean
  • Private ObjetScroll As Object
  • Private iTypeScroll As Byte
  • Private Enum TypeScroll
  • ScrollColRow = 1
  • TopRow = 2
  • End Enum
  • Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  • '**** Procédure à appeller pour
  • Public Sub ActiverMoletteEtDéfinirObjetScroll(ByVal QuelObjetFautilScrollerDeTypeScrollVerticaleEtHorizontale As Object)
  • On Error GoTo MoletteErr
  • Call LoadSettings
  • If bMoletteActive Then
  • Call UnhookWindow
  • End If
  • Set ObjetScroll = QuelObjetFautilScrollerDeTypeScrollVerticaleEtHorizontale
  • On Error GoTo PeutEtreTopRow 'sinon on essaye une autre propriété
  • If IsError(ObjetScroll.Scroll(0, 0)) = False Then 'teste si l'objet
  • 'a une propriété .scroll(cols as long, rows as long)
  • iTypeScroll = TypeScroll.ScrollColRow
  • GoTo ProprieteOK 'si oui alors on active la molette
  • Else
  • PeutEtreTopRow:
  • On Error GoTo MoletteErr 'sinon on ne peut pas activer la molette
  • If IsError(ObjetScroll.TopRow) = False Then 'test si l'objet
  • 'a une propriété .toprow
  • iTypeScroll = TypeScroll.TopRow
  • End If 'si oui alors on active la molette
  • End If
  • ProprieteOK:
  • Call HookWindow
  • Exit Sub
  • MoletteErr:
  • MsgBox "Prise en charge de la molette impossible", vbExclamation
  • bMoletteActive = False
  • Exit Sub
  • End Sub
  • Private Sub HookWindow()
  • Dim tWnd As Long
  • 'test si la fenetre est de class ThunderFormDC
  • mhWnd = FindWindow("ThunderFormDC", vbNullString)
  • 'tWnd = FindWindowEx(mhWnd, ByVal 0&, "ThunderFormDC", vbNullString)
  • 'avec lui, il ne la trouve pas le handle de notre fenetre donc
  • 'je l'ai enlevé car j'ai due mal le faire
  • 'If tWnd = 0 Then Exit Sub '<- normalement
  • If mhWnd = 0 Then '<- donc on fait comme ca
  • 'test si la fenetre est de class ThunderRT6FormDC
  • 'form vb6 une fois compilé
  • mhWnd = FindWindow("ThunderRT6FormDC", vbNullString)
  • End If
  • If mhWnd = 0 Then
  • 'test si la fenetre est de class MDIClient
  • 'fenetre mère
  • mhWnd = FindWindow("MDIClient", vbNullString)
  • End If
  • If mhWnd = 0 Then
  • MsgBox "Prise en charge de la molette impossible", vbExclamation
  • bMoletteActive = False
  • Exit Sub
  • End If
  • SetProp mhWnd, PRPNAME, GetWindowLong(mhWnd, GWL_WNDPROC)
  • SetWindowLong mhWnd, GWL_WNDPROC, AddressOf WindowProc
  • bMoletteActive = True
  • End Sub
  • Private Sub UnhookWindow()
  • Dim mWndProc As Long
  • mWndProc = GetProp(mhWnd, PRPNAME)
  • If mWndProc = 0 Then Exit Sub
  • RemoveProp mhWnd, PRPNAME
  • SetWindowLong mhWnd, GWL_WNDPROC, mWndProc
  • Set ObjetScroll = Nothing
  • bMoletteActive = False
  • End Sub
  • Private Sub LoadSettings()
  • Dim sData As String * MAX_PATH
  • Dim hKey As Long
  • Dim lSize As Long
  • If RegOpenKey(HKEY_CURRENT_USER, HKEYDESKTOP, hKey) Then
  • mSmooth = True
  • mLines = 3
  • Else
  • lSize = MAX_PATH
  • If RegQueryValueEx(hKey, HKEYSMOOTH, 0, REG_SZ, sData, lSize) Then
  • mSmooth = True
  • Else
  • mSmooth = CBool(Left(sData, lSize))
  • End If
  • lSize = MAX_PATH
  • If RegQueryValueEx(hKey, HKEYLINES, 0, REG_SZ, sData, lSize) Then
  • mLines = 3
  • Else
  • mLines = CLng(Left(sData, lSize))
  • End If
  • RegCloseKey hKey
  • End If
  • End Sub
  • Private Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  • Dim mWndProc As Long
  • Dim NumLines As Long
  • Dim ScrollTo As Long
  • Dim TopLn As Long
  • mWndProc = GetProp(hwnd, PRPNAME)
  • If mWndProc = 0 Then Exit Function
  • WindowProc = CallWindowProc(mWndProc, hwnd, uMsg, wParam, lParam)
  • 'wParam indique le mouvement de la molette
  • 'pour wParam négatif, c'est pour voir en haut
  • 'positif, on descend le curseur du scrollbar
  • Select Case uMsg
  • 'Case WM_KILLFOCUS
  • ' UnhookWindow
  • ' HookWindow
  • Case WM_MOUSEWHEEL
  • WindowProc = 0
  • If ObjetScroll Is Nothing Then Exit Function
  • TopLn = 0
  • Select Case mLines
  • Case "-2": NumLines = (10 * (1 / 2))
  • '10 pour 10 lignes visibles, mais ça change pas grand chose
  • Case "-1": NumLines = (10 - 1)
  • Case Else: NumLines = Abs(mLines)
  • End Select
  • If NumLines < 1 Then NumLines = 1
  • ScrollTo = TopLn - Sgn(wParam) * NumLines / ((wParam And &HFFFF&) \ 4 + 1) 'compute new top line
  • If mSmooth Then
  • If iTypeScroll = TypeScroll.ScrollColRow Then
  • ObjetScroll.Scroll 0, ScrollTo
  • ElseIf iTypeScroll = TypeScroll.TopRow Then
  • If ObjetScroll.TopRow + ScrollTo <= 1 Then
  • ObjetScroll.TopRow = 1 'ligne min
  • ElseIf ObjetScroll.TopRow + ScrollTo >= ObjetScroll.Rows Then
  • ObjetScroll.TopRow = ObjetScroll.Rows 'ligne max
  • Else 'c'est bon, on peut scroller
  • ObjetScroll.TopRow = ObjetScroll.TopRow + ScrollTo
  • End If
  • End If
  • End If
  • End Select
  • End Function
Option Explicit
'
' Original Idea From
' :) Ulli's VBMouseWheel (10.09.2002)
' then
' codé par EBArtSoft@ (2004) : VB6 Wheel AddIn : ebartsoft@hotmail.com
' pour activer la molette dans l'éditeur de VB6, y avait un copyright
' then
' modifié par philippe734 pour l'activation de la molette
' d'un object ayant :
' soit deux scroll bar, vertical et horizontale de type
' .scroll(cols as long, rows as long) (datagrid par ex)
' soit de type
' .toprow as long (flexgrid par ex)
' Rq : Référencer le fichier Wheel.tlb de EBArtSoft@
'
Private Const REG_SZ                As Long = 1
Private Const GWL_WNDPROC           As Long = (-4)
Private Const MAX_PATH              As Long = 260
Private Const WM_KILLFOCUS          As Long = &H8
Private Const WM_MOUSEWHEEL         As Long = &H20A

Private Const WM_MOUSEMOVE          As Long = &H200

Private Const HKEY_CURRENT_USER     As Long = &H80000001
Private Const PRPNAME               As String = "WheelPrc"
Private Const HKEYDESKTOP           As String = "Control Panel\Desktop"
Private Const HKEYLINES             As String = "WheelScrollLines"
Private Const HKEYSMOOTH            As String = "SmoothScroll"

Private mSmooth     As Boolean
Private mLines      As Long
Private mhWnd       As Long

Private bMoletteActive As Boolean
Private ObjetScroll As Object
Private iTypeScroll As Byte
Private Enum TypeScroll
    ScrollColRow = 1
    TopRow = 2
End Enum

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'**** Procédure à appeller pour
Public Sub ActiverMoletteEtDéfinirObjetScroll(ByVal QuelObjetFautilScrollerDeTypeScrollVerticaleEtHorizontale As Object)
    On Error GoTo MoletteErr
    Call LoadSettings
    If bMoletteActive Then
        Call UnhookWindow
    End If
    Set ObjetScroll = QuelObjetFautilScrollerDeTypeScrollVerticaleEtHorizontale
    On Error GoTo PeutEtreTopRow    'sinon on essaye une autre propriété
    If IsError(ObjetScroll.Scroll(0, 0)) = False Then    'teste si l'objet
        'a une propriété .scroll(cols as long, rows as long)
        iTypeScroll = TypeScroll.ScrollColRow
        GoTo ProprieteOK    'si oui alors on active la molette
    Else
PeutEtreTopRow:
        On Error GoTo MoletteErr    'sinon on ne peut pas activer la molette
        If IsError(ObjetScroll.TopRow) = False Then    'test si l'objet
            'a une propriété .toprow
            iTypeScroll = TypeScroll.TopRow
        End If    'si oui alors on active la molette
    End If
ProprieteOK:
    Call HookWindow
    Exit Sub
MoletteErr:
    MsgBox "Prise en charge de la molette impossible", vbExclamation
    bMoletteActive = False
    Exit Sub
End Sub

Private Sub HookWindow()
    Dim tWnd As Long
    'test si la fenetre est de class ThunderFormDC
    mhWnd = FindWindow("ThunderFormDC", vbNullString)
    'tWnd = FindWindowEx(mhWnd, ByVal 0&, "ThunderFormDC", vbNullString)
    'avec lui, il ne la trouve pas le handle de notre fenetre donc
    'je l'ai enlevé car j'ai due mal le faire
    'If tWnd = 0 Then Exit Sub '<- normalement
    If mhWnd = 0 Then    '<- donc on fait comme ca
        'test si la fenetre est de class ThunderRT6FormDC
        'form vb6 une fois compilé
        mhWnd = FindWindow("ThunderRT6FormDC", vbNullString)
    End If
    If mhWnd = 0 Then
        'test si la fenetre est de class MDIClient
        'fenetre mère
        mhWnd = FindWindow("MDIClient", vbNullString)
    End If
    If mhWnd = 0 Then
        MsgBox "Prise en charge de la molette impossible", vbExclamation
        bMoletteActive = False
        Exit Sub
    End If
    SetProp mhWnd, PRPNAME, GetWindowLong(mhWnd, GWL_WNDPROC)
    SetWindowLong mhWnd, GWL_WNDPROC, AddressOf WindowProc
    bMoletteActive = True
End Sub

Private Sub UnhookWindow()
    Dim mWndProc  As Long
    mWndProc = GetProp(mhWnd, PRPNAME)
    If mWndProc = 0 Then Exit Sub
    RemoveProp mhWnd, PRPNAME
    SetWindowLong mhWnd, GWL_WNDPROC, mWndProc
    Set ObjetScroll = Nothing
    bMoletteActive = False
End Sub

Private Sub LoadSettings()
    Dim sData As String * MAX_PATH
    Dim hKey  As Long
    Dim lSize As Long
    If RegOpenKey(HKEY_CURRENT_USER, HKEYDESKTOP, hKey) Then
        mSmooth = True
        mLines = 3
    Else
        lSize = MAX_PATH
        If RegQueryValueEx(hKey, HKEYSMOOTH, 0, REG_SZ, sData, lSize) Then
            mSmooth = True
        Else
            mSmooth = CBool(Left(sData, lSize))
        End If
        lSize = MAX_PATH
        If RegQueryValueEx(hKey, HKEYLINES, 0, REG_SZ, sData, lSize) Then
            mLines = 3
        Else
            mLines = CLng(Left(sData, lSize))
        End If
        RegCloseKey hKey
    End If
End Sub

Private Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Dim mWndProc     As Long
    Dim NumLines     As Long
    Dim ScrollTo     As Long
    Dim TopLn        As Long
    mWndProc = GetProp(hwnd, PRPNAME)
    If mWndProc = 0 Then Exit Function
    WindowProc = CallWindowProc(mWndProc, hwnd, uMsg, wParam, lParam)
    'wParam indique le mouvement de la molette
    'pour wParam négatif, c'est pour voir en haut
    'positif, on descend le curseur du scrollbar
    Select Case uMsg
        'Case WM_KILLFOCUS
        '    UnhookWindow
        '    HookWindow
    Case WM_MOUSEWHEEL
        WindowProc = 0
        If ObjetScroll Is Nothing Then Exit Function
        TopLn = 0
        Select Case mLines
        Case "-2": NumLines = (10 * (1 / 2))
            '10 pour 10 lignes visibles, mais ça change pas grand chose
        Case "-1": NumLines = (10 - 1)
        Case Else: NumLines = Abs(mLines)
        End Select
        If NumLines < 1 Then NumLines = 1
        ScrollTo = TopLn - Sgn(wParam) * NumLines / ((wParam And &HFFFF&) \ 4 + 1)    'compute new top line
        If mSmooth Then
            If iTypeScroll = TypeScroll.ScrollColRow Then
                ObjetScroll.Scroll 0, ScrollTo
            ElseIf iTypeScroll = TypeScroll.TopRow Then
                If ObjetScroll.TopRow + ScrollTo <= 1 Then
                    ObjetScroll.TopRow = 1    'ligne min
                ElseIf ObjetScroll.TopRow + ScrollTo >= ObjetScroll.Rows Then
                    ObjetScroll.TopRow = ObjetScroll.Rows    'ligne max
                Else    'c'est bon, on peut scroller
                    ObjetScroll.TopRow = ObjetScroll.TopRow + ScrollTo
                End If
            End If
        End If
    End Select
End Function

Conclusion

référencer le fichier wheel.tlb d'EBArtSoft@ (in the zip)

Par exemple vous voulez l'attacher à un mshflexgrid nommé mshflexgrid1 dans une form nommé frmMain, alors faites :

    Call ActiverMoletteEtDéfinirObjetScroll(frmMain.MSHFlexGrid1)

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

06 août 2004 14:12:48 :
Prise en charge de deux types de grille, une .scroll(cols as long, rows as long) et une .TopRow as long

Commentaires et avis

signaler à un administrateur
Commentaire de frop01 le 05/08/2004 21:30:51

Très utile Merci :)

signaler à un administrateur
Commentaire de sam013 le 05/08/2004 21:43:23

Ah ça c'est bien :)

signaler à un administrateur
Commentaire de trabice le 29/09/2004 10:25:44

merci bcp.pour cette belle source qui marche.
c tout ce kon lui demande..

signaler à un administrateur
Commentaire de zinoub le 08/12/2004 17:49:35

Bonjour ,
comment faites vous pour charger l'api wheel.tlb? il me semble que j'ai un petit souci de chargement

merci pour votre aide!

signaler à un administrateur
Commentaire de Philippe734 le 08/12/2004 22:47:41

tu l'a référencie ds le projet, un peu comme une dll

signaler à un administrateur
Commentaire de log2002 le 30/12/2004 12:35:32

salut à tous,

j'ai un message d'error :

"prise en charge de la molette impossible"

c'est du à quoi ?

merci

signaler à un administrateur
Commentaire de tibi055 le 01/04/2005 11:01:23

cool mais fonctionne pas si le contrôle est dans une fenêtre de type MDI Child.

signaler à un administrateur
Commentaire de econs le 19/04/2005 16:32:04 administrateur CS

log2002> Même erreur chez moi. Pas moyen de faire fonctionner ce code avec MSFlexgrid et MSHFlexgrid. Snif ...
Mais avec les autres contrôles, çà va.

signaler à un administrateur
Commentaire de Philippe734 le 19/04/2005 19:45:50

avec certaine type de form (mdi child...), cela ne marche qu'une fois compilé. et je s'en sai rien pkoi

:)

signaler à un administrateur
Commentaire de jonathan02 le 24/05/2005 23:24:07

Je débute en VB et j'aimerai savoir comment référencer le fichier Wheel.tlb.

Merci.

signaler à un administrateur
Commentaire de jonathan02 le 24/05/2005 23:59:50

C'est bon j'ai trouver !
merci

signaler à un administrateur
Commentaire de JoePatent le 08/08/2005 22:04:50

Le tout est compilé et ça ne fonctionne pas.

Prise en charge impossible.

Il s'agit d'un formulaire child qui roule dans une MDI...

Avez-vous trouvé une solution ?  Ce code est simple d'usage et j'aimerais vraiment l'implanter dans mes logiciels.

signaler à un administrateur
Commentaire de PCPT le 12/08/2005 21:20:08 administrateur CS

salut,

petit souci, ne fonctionne pas en projet compilé. je suis le seul?
PCPT

signaler à un administrateur
Commentaire de Migs le 29/08/2005 21:19:28

Cette source est super, mais ça ne marche pas pour plusieurs objets...

signaler à un administrateur
Commentaire de njulio le 15/09/2005 19:47:24

Je ne sais pas à quel niveau il faut écrire :
Call ActiverMoletteEtDéfinirObjetScroll(Formulaire1.MSHFlexGrid1)

si "Formulaire1" est le nom de ma feuille.

signaler à un administrateur
Commentaire de SgtKabukinan le 22/09/2005 15:21:22

dans l'evenement Form_Load

signaler à un administrateur
Commentaire de SgtKabukinan le 22/09/2005 15:31:52

d'ailleurs à ce propos
si tu as deux form qui a un datagrid avec la molette activée
et que tu ouvres une autre form avec un datagrid en activant la molette,
la molette ne fonctionne pas dans la seconde (pas d'erreur), et ne fonctionne plus non plus dans la première form (erreur)
Avis au amateurs

signaler à un administrateur
Commentaire de yoh_bur le 18/10/2005 15:41:15

Merci de ce code.
J'ai un petit problème que je ne comprends pas. J'ai developpé mon appli sur un fixe sur lequel la molette de la souris est tres bien prise en compte.
Je reprends aujourd'hui mon appli sur un portable, apres copie du projet (dans son ensemble) sur le portable, lorsque jele lance, il me dit bibliotheque introuvable (pour la fonction RegOpenKey). J'ai pourtant bien declaré le fichier wheel.tb dans les references. Merci d'avance de votre aide.

signaler à un administrateur
Commentaire de yoh_bur le 18/10/2005 15:44:53

Merci de ce code.
J'ai par contre un petit probleme avec. Je l'avais utilisé lors du developpement d'une appli sur mon fixe, il n'y avait aucun probleme (le fixe est sous XP).
Aujourd'hui, je reprends la meme appli sur un portable (aussi sous XP). Apres une copie du projet sur le dur du portable, je lance le projet. Je verifie que wheel.tb est bien declaré, et je lance une execution pour voir.
Il me mets alors: "projet ou bibliotheque introuvable" et plante sur la fonction RegOpenKey.
Pourriez vous me dire pourquoi?

signaler à un administrateur
Commentaire de yoh_bur le 18/10/2005 15:52:58

Merci de ce code.

J'ai par contre un petit problème avec lors du transfert de mon projet de mon fixe a mon portable (tout deux sous XP). Alors que tout fonctionne nickel sur le fixe, lorsque je lance le projet en execution sur le portable il m'annonce "projet ou bibliotheque introuvable".
J'ai pourtant bien declaré wheel.tb dans les references du projet (redeclaré apres copie).
Merci d'avance des reponses.

signaler à un administrateur
Commentaire de chris81 le 25/01/2006 11:52:33

bonjour,
je suis en train de tester ton code et il me retourne un erreur ici

    If RegOpenKey(HKEY_CURRENT_USER, HKEYDESKTOP, hKey) Then... il me dit procedure sub ou function on définie.
Saurais tu d'ou peux venir ce pb?

signaler à un administrateur
Commentaire de SgtKabukinan le 26/01/2006 11:29:44

Rajoute la déclaration de l'API dans le module ne private sur tu t'en sers pas autre part
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" ( _
                 ByVal hKey As Long, _
                 ByVal lpSubKey As String, _
                 phkResult As Long) As Long

signaler à un administrateur
Commentaire de SgtKabukinan le 26/01/2006 11:32:32

D'ailleurs mieux vaut mettre la déclaration dans le onfocus du grid
Call ActiverMoletteEtDéfinirObjetScroll(frm.grid)
et celle la dans le lostFocus
Call DesactiverMolette

Pour éviter tout problème

signaler à un administrateur
Commentaire de yohan_titi le 06/02/2006 17:34:01

Merci beaucoup pour ce code !

Chez moi il a fonctionné du 1er coup. Je cherchais ce type de source pour une Msflexgrid et ça marche !!!

Encore mille fois merci

signaler à un administrateur
Commentaire de Rrominet le 14/02/2006 17:03:51

Tout bonnement géniale cette source !!!

Moi qui me voyait déjà galéré des heures sur le sujet, pour finir ça m'a pris 3 minutes chrono en main pour intégrer ta source de partout :-)


Merciiiiiiiiiiiiii !!

signaler à un administrateur
Commentaire de Subierman le 29/05/2006 17:35:58

chez moi, ça marche pas avec les MSFlexgrid....

signaler à un administrateur
Commentaire de michpirm le 03/08/2006 16:26:15

Bonjour,

Merci pour ces lignes de codes qui fonctionnent bien.

J'ai juste un petit problème :

Si dans mes lignes de codes autres que les lignes de ce petit programme, j'ai un message erreur de débogage, de VB6 ce qui est normal, mais dès que je clique sur la fin du débogage, VB6 se ferme et ce depuis que j'ai installé ce programme pour la roulette de la souris.

Obligé de la relancer VB6!!??

Quelqu'un à la solution?

Michel

signaler à un administrateur
Commentaire de mosquitout le 03/11/2006 10:43:08

Idem, chez moi ca ne marche pas non plus avec les MsFlexGrid ! même compilé. (avec bien sur la dll Wheel.tb référencée)

signaler à un administrateur
Commentaire de Rrominet le 03/11/2006 13:17:14

J'ai aussi le problème sur un ordi où la molette ne fonctionne pas malgré ce code...
Et d'autres ordis où cela fonctionne nickel !!

Sinon juste pour info, pas mal de contrôles que j'ai pu créer ou réutiliser me plantent VB6.
Ca devient monnaie courante quand l'appli en utilise beaucoup ou est trop grosse. Sans doute qu'il y a des choses à ne pas faire en dev et qui font planter VB...

Le fait de passer de Win98 à WinXP m'avait permi à l'époque d'éviter beaucoup de plantages de VB, mais il en reste trop...

signaler à un administrateur
Commentaire de andalo le 22/08/2007 23:43:17

la fete, j'adore cette source.
En bon debutant que je suis j'essaye de suivre ce conseil suivant :
"D'ailleurs mieux vaut mettre la déclaration dans le onfocus du grid
Call ActiverMoletteEtDéfinirObjetScroll(frm.grid)
et celle la dans le lostFocus
Call DesactiverMolette
Pour éviter tout problème "

Le desactivermolette apparement n'existe pas, comment proceder??

signaler à un administrateur
Commentaire de med_sp2 le 07/09/2007 12:19:43

merci beaucoup

signaler à un administrateur
Commentaire de Philippe734 le 09/09/2007 18:18:46

pour désactiver la molette faite ceci dans une procédure de ce code :

call UnhookWindow

:)

signaler à un administrateur
Commentaire de andalo le 26/09/2007 03:03:06

c'est ragant, ne veux plus fonctioner une fois compilé!! j'ai vu que d'autres personnes ont ce souci, je maitrise pas assez pour ne trouver la cause.

signaler à un administrateur
Commentaire de Ouneufe le 20/11/2007 10:05:59

magnifique, beaucoup mieux que ce que j'utilisais auparavant.

signaler à un administrateur
Commentaire de pascamau le 05/06/2009 15:24:17

Super !
Ajout de la fonctionnalité Wheel en 30 secondes sur un MSFlexGrid sous VB6 portable,
et ça fonctionne en version compilée.
Merci.

signaler à un administrateur
Commentaire de cortexminus le 18/06/2009 09:13:43

Superbe fonctionnalité, mis en place en 1 min.
Dommage que je n'arrive pas à le faire marcher sur les 3 onglets d'un MSHFlexGrid.
Ca fonctionne uniquement sur le dernier onglet.
Merci !

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,265 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é.