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

Windows Forms Discussion :

[c#][PPC2003] Listview et scrollbar


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut [c#][PPC2003] Listview et scrollbar
    Bonjour,

    J'essaye de detecter lorsque un utilisateur utilise la scrollbar d'un listview.

    J'ai quasiment tout essayer pour essayer d'intercepter le message WM_VSCROLL via la fonction setwindowshookexw mais elle implémente seulement le WH_KEYBOARD_LL donc ca ne marche pas non plus.

    Si quelqu'un a une idée pour le faire je suis preneur meme si cela est en eVc++.

    merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bon j'ai enfin réussi,

    si ca interesse certin voici la solution (c pas trop compliqué) :

    Tous d'abord il fo creer une dll native qui va implémenté les fonctions getwindowlong et setwindowlong pour redefinir la windowproc de la listview. Dans le callback résultant il suffit de tester si le message est un WM_VSCROLL et d'envoyer un sendmessage avec un code particulier (WM_USER +xxx) a un objet MessageWindow creer dans l'appli principale et ainsi déclancher l'evenement corespondant.

    Tous ceci sera implemenente dans le cf 2.0 sous la forme de la classe nativeWindow

    Voila si vous avez des questions pas de probleme.

  3. #3
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Une manière differente est de deriver TaListView de ListView simplement pour avoir accès à la méthode protégée native ListView.WndProc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected override void WndProc(ref Message m)
     { // ton code;}

  4. #4
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    Citation Envoyé par neguib
    Une manière differente est de deriver TaListView de ListView simplement pour avoir accès à la méthode protégée native ListView.WndProc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected override void WndProc(ref Message m)
     { // ton code;}
    oui sauf que WndProc n'est pas pris en charge pas le compact framework.
    sauf peut etre sur la V2 je sais pas.

    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Dans la v2 du compact framework il y aura la Classe NativeWindow qui permettra de surchager la wndproc pour un handle donné

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Ok merci de ces eclairages, je ne suis vraiment pas familier du PPC mais çà Freddy tu le savais déjà
    Tiens une autre manière est de developper son UserControl(contenant le listview) qui lui peut exposer des events Scroll si on lui ajoute des HscrollBar et VScrollBar mais vous allez me dire CompactFramework ne veut pas c'est çà :

  7. #7
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    Citation Envoyé par neguib
    Tiens une autre manière est de developper son UserControl(contenant le listview) qui lui peut exposer des events Scroll si on lui ajoute des HscrollBar et VScrollBar mais vous allez me dire CompactFramework ne veut pas c'est çà :
    les usercontrol fonctionne normalement en CF et les controles HScrollBar et VScrollBar existent alors pourquoi pas. Mais la methode de le-roy_a est a mon avis plus rapide.

    @+

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bon je disais des bétises sur le cf v 2.0 et la nativewindow,

    En fait dans la prochaine version les callback dans des fonctions natives seront supportées on pourra donc appellé directement setwindowlong dans le cf .net sans passer par un DLL native et ainsi recreer la classe nativeWindow du .NET.

    voila désolé.

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

Discussions similaires

  1. ListView sans scrollbar
    Par Mister Nono dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 08/03/2012, 12h59
  2. Listview et scrollbar verticale uniquement
    Par tenebriox dans le forum Windows Forms
    Réponses: 0
    Dernier message: 09/07/2009, 09h50
  3. ScrollBar horizontale ListView
    Par Ju2Pom dans le forum C++Builder
    Réponses: 0
    Dernier message: 11/04/2008, 15h06
  4. Scrollbar dans un listView
    Par zaiany dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/06/2007, 20h44
  5. [C# VS2005] Agir sur scrollbar d'un ListView
    Par FredericB dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/06/2006, 20h29

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