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

Lazarus Pascal Discussion :

TlistView : récupérer la nouvelle valeur du texte après édition


Sujet :

Lazarus Pascal

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut TlistView : récupérer la nouvelle valeur du texte après édition
    Bonjour à toutes et à tous,

    Dans Delphi, le composant TListView possède l'évènement "OnEdited". Cet évènement n’existe pas dans Lazarus 0.9.30.

    Dans Lazarus, quand on clique sur un élément de TlistView, une fenêtre d'édition locale s'ouvre et il est possible de modifier la valeur du texte affiché. Lorsqu'on clique à l'extérieur de cette fenêtre, celle-ci se referme mais la nouvelle valeur n'est pas prise en compte.

    Cette fonction, s'il elle fonctionnait, serait l'équivalent du "Renommer" dans l'Explorer de Windows.

    Est-il possible de faire en sorte q'il soit possible de récupérer ce texte ?

    Merci de votre aide.

    Pierre

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour Pierre,
    Citation Envoyé par ChPr Voir le message
    Dans Delphi, le composant TListView possède l'évènement "OnEdited". Cet évènement n’existe pas dans Lazarus 0.9.30.
    En effet...

    Citation Envoyé par ChPr Voir le message
    Dans Lazarus, quand on clique sur un élément de TlistView, une fenêtre d'édition locale s'ouvre et il est possible de modifier la valeur du texte affiché. Lorsqu'on clique à l'extérieur de cette fenêtre, celle-ci se referme mais la nouvelle valeur n'est pas prise en compte.
    Lazarus 0.9.30.4 sous XP : je ne reproduis pas ce comportement (fenêtre modale), mais peut-être je n'ai pas compris...

    Avez vous essayé via les clic droits pour saisir les contenus, paramétrer les colonnes ?
    --
    Philippe.
    Philippe.

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Si on prend un composant TTreeView (qui possède les évènement OnEditing et OnEdited)à la place d'un TListView, lorsqu'on modifie le nom d'un items (TTreeNode), une fois qu'on clique ailleurs, le nom modifié est conservé. Les évènements OnEditing et OnEdited permettent respectivement de faire une action pendant ou après le changement du texte.

    A la limite, qu'il n'y ait pas ces évènements sur le TListView serait un moindre mal si ce dernier voulait bien conserver le texte modifié.

    Un click droit n'agit pas.

    Cordialement.

    Pierre

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Ok, j'ai mieux compris le problème, enfin j'espère

    Pourquoi ne pas utiliser un TTreeView dont la propriété ShowRoot serait initialisée à False ?

    --
    Philippe.
    Philippe.

  5. #5
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Ok, j'ai mieux compris le problème, enfin j'espère

    Pourquoi ne pas utiliser un TTreeView dont la propriété ShowRoot serait initialisée à False ?

    --
    Philippe.
    J'y avais pensé, mais j'utilise aussi les propriétés SubItems de ListeView que TTreeView ne possède pas.

    Actuellement, j'ai résolu mon problème en créant un petit éditeur de texte local qui me permet de changer la propriété "Nom" d'un TListItem quand je clique dessus.

    Autre problème afférant à ces deux composants, la propriété HotTrack n'a pas d'action ...

    Au global, je pense que ces deux composants ne sont pas "terminés" si je puis m'exprimer ainsi.

    Cordialement.

    Pierre

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/02/2013, 16h51
  2. Réponses: 2
    Dernier message: 21/12/2011, 13h58
  3. Réponses: 7
    Dernier message: 15/09/2010, 15h37
  4. récupérer la valeur d'un input text après modification
    Par Tellounet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/05/2009, 09h30
  5. Réponses: 2
    Dernier message: 07/06/2006, 08h42

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