IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Combobox et Scroll de la souris


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut Combobox et Scroll de la souris
    Bonjour,

    J'ai un combobox avec certaines valeurs dans les items. Mon probleme c'est que quand le combobox a le focus et je tourne la roulette de ma souris ou j'utilise les fleches bas ou haut du clavier, l'item selectionne change (ce qui est normal). Comment empecher ca?

    ::

  2. #2
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Il te faut intercepter le WM_MouseWheel
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Au niveau de la form implémente l'évènement OnMouseWheel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    begin
      if ActiveControl = ComboBox1 then Handled := True;
    end;
    @+

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    combobox n'a pas de OnMouseWheel. Je dois interceopter celui de la forme? Qu'en est-il des fleches bas et haut, je dois intercepter les events aussi?

  5. #5
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Mais, tu veux empêcher le scroll ou le déclencher ?
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    Je croyais que c'etait clair dans mon post
    Je veux empecher le scroll, car il s'enclenche par defaut.

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par Claudius40
    Salut,

    Au niveau de la form implémente l'évènement OnMouseWheel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    begin
      if ActiveControl = ComboBox1 then Handled := True;
    end;
    @+
    Merci Claudius, ca marche tres bien.
    Il ne me reste qu'a prendre en charge les touches clavier, chose qui est plus facile.

    Merci a vous deux.

  8. #8
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Ben je t'ai donné la solution. Tout du moins pour la MouseWheel.

    Intercepte l'évènement OnMouseWheel au niveau de la form. cf mon code ci-dessus.

    Quant aux flèches Haut et Bas: est-ce bien utile. Je comprends que tu veuille intercepter la molette de la souris, et éviter un changement intempestif dans ton combox. Mais les flèches Haut et Bas ?

    @+

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par Claudius40
    Ben je t'ai donné la solution. Tout du moins pour la MouseWheel.

    Intercepte l'évènement OnMouseWheel au niveau de la form. cf mon code ci-dessus.

    Quant aux flèches Haut et Bas: est-ce bien utile. Je comprends que tu veuille intercepter la molette de la souris, et éviter un changement intempestif dans ton combox. Mais les flèches Haut et Bas ?

    @+
    Ta solution marche tres bien.
    Pour ce qui est des fleches haut et bas, je prefere les inhiber aussi. Mon combobox contient les valeurs d'un zoom, alors je voudrai que l'utilisateur selectionne vraiment la valeur au lieu de scroller.

  10. #10
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    OK

    Dans ce cas c'est effectivement plus simple. Tu peux gérer ça dans OnKeyDown du ComboBox.
    Pense également aux flèches Gauche et Droite, si comme je le suppose le Style de ton ComboBox est csDropDownList.

    Salut et @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Empecher le scroll de la souris
    Par mordrhim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/03/2021, 20h52
  2. Scroll horizontal à la souris dans un JScrollPane
    Par BakaOnigiri dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 22/09/2008, 14h48
  3. [Access 2003] Gérer le scroll de la souris sans dll?
    Par Miss Ti dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/09/2008, 17h15
  4. [StringGrid] Empecher le scroll de la souris
    Par okparanoid dans le forum Delphi
    Réponses: 3
    Dernier message: 26/05/2007, 10h42
  5. Scroll avec la souris
    Par domb_st dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/05/2007, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo