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

MFC Discussion :

Blocage du changement de ligne dans un CListrCtrl


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Par défaut Blocage du changement de ligne dans un CListrCtrl
    Bonjour,

    Je travaille avec une CListCtrl et, lors de certains traitements un peu longs sur certaines lignes de mon control, j'aimerais interrompre l'effet des touches de direction et du curseur qui permettent de me positionner sur une autre ligne (tant que le traitement n'est pas terminé).

    J'ai essayé de travailler avec le OnNotify de la fenêtre parent pour récupérer le handle sur le CListCtrl ainsi que l'id de la commande qui positionne sur les lignes du control, mais je dois avouer que ça ne marche pas fort. C'est pourquoi j'appelle à l'aide.....

    Merci,
    Hugues

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    un petit coup de EnableWindow(FALSE) sur la listctrl devrait resoudre ton pb ...

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Par défaut Blocage du changement de ligne dans un CListrCtrl
    Le EnableWindow(FALSE) fonctionne mais comme l'application "mémorise" les touches touches de direction (bas ou haut), on a ensuite l'impression que le curseur se promène sur les autres lignes, de façon saccadée. En fait, il réalise le traitement à appliquer sur chaque ligne de ma grille.

    Ce que je voudrais pour éviter ce "mauvais" effet, c'est, tant mon traitement n'est pas terminé, supprimer l'event qui permet de changer de ligne, soit avec le clavier, soit avec la souris. Est-ce possible?

    Merci,
    Hugues.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    re,
    essaye un peu pour voir la fonction BlockInput(TRUE).

    j'ai jamais essayé mais ça m'a l'air pas mal ...
    attention a priori il faut que tu sois a jour coté SDK.

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    re,
    autre solution possible de faire EnableWindow(FALSE) au niveau de la fenetre mere directement (Dialogue ).

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Par défaut Blocage du changement de ligne dans un CListrCtrl
    Merci, ça semble bien fonctionner!

    Hugues

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut Re: Blocage du changement de ligne dans un CListrCtrl
    Citation Envoyé par Depteam1
    Merci, ça semble bien fonctionner!

    Hugues
    tu as utilisé blockinput ou EnableWindow(FALSE) sur la dialog ?

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Par défaut Blocage du changement de ligne dans un CListrCtrl
    J'ai essayé EnableWindow sur la fenêtre parent de mon control mais j'ai obtenu de meilleurs résultats avec BlockInput(FALSE). Cependant, cette fonction est à manier avec précaution car si l'on ne sort pas proprement du traitement qui doit libérer l'input (avant le BlockInput(TRUE)), on risque de planter le pc!

    Hugues.

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut Re: Blocage du changement de ligne dans un CListrCtrl
    Citation Envoyé par Depteam1
    J'ai essayé EnableWindow sur la fenêtre parent de mon control mais j'ai obtenu de meilleurs résultats avec BlockInput(FALSE). Cependant, cette fonction est à manier avec précaution car si l'on ne sort pas proprement du traitement qui doit libérer l'input (avant le BlockInput(TRUE)), on risque de planter le pc!

    Hugues.
    oki

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

Discussions similaires

  1. Fonction de changement de ligne dans Spreadsheet
    Par linkcr15 dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/05/2012, 09h02
  2. Détecter l'événement de changement de ligne dans une DBGrid
    Par Invité dans le forum Bases de données
    Réponses: 10
    Dernier message: 16/12/2009, 03h10
  3. Detecter un changement sur une ligne dans une JTable
    Par RR instinct dans le forum Composants
    Réponses: 8
    Dernier message: 10/04/2008, 12h58
  4. Réponses: 2
    Dernier message: 24/08/2007, 14h53
  5. Changement de ligne dans un jTextArea
    Par tdust dans le forum NetBeans
    Réponses: 1
    Dernier message: 24/05/2006, 14h47

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