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 FMX Delphi Discussion :

Event Onmousedown sur grid


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2024
    Messages : 35
    Par défaut Event Onmousedown sur grid
    Bonjour,
    Je cherche à permettre à l'utilisateur de déplacer les colonnes d'une stringgrid.
    J'y arrive en mettant un évènement OnMouseDown et OnMouseUp sur la Stringrid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Stringgrid1.OnMouseDown := Stringgrid1MouseDown;
      Stringgrid1.OnMouseUp := Stringgrid1Mouseup;
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
     
    begin
      memo1.lines.add('GridDown' + (floattostr(Y)));
    end;
     
    procedure TForm1.StringGrid1Mouseup(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
     
    begin
      memo1.lines.add('Gridup' + (floattostr(Y)));
    end;
    Ensuite, le traitement me permet les déplacements.
    Mais j'ai besoin de rajouter un Header et dans ce cas, les OnMouseDown et OnMouseUp ne sont pas déclenchés.
    C'est la même chose si je mets les éléments OnMouseDown et OnMouseUp sur les Column au lieu de Stringgrid
    C'est pour une appli sous android, mais le phénomène est identique sur Windows.
    Auriez-vous une solution

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    Bon, déjà, je n'ai jamais mis de grille dans une application Android, je suis plus adepte de la TListView pour cette cible donc je ne sais pas si un glisser de colonne peut se faire.
    Mais, sous windows, bien vérifier que ColumnMove est dans les options permet de déplacer les dites colonnes , en gardant la souris appuyée sur le Header et en glissant la dite colonne. Et cela ne nécessite aucun code.

    Mais j'ai besoin de rajouter un Header et dans ce cas, les OnMouseDown et OnMouseUp ne sont pas déclenchés.
    ce qui voudrait dire qu'il n'y en avait pas ?
    Sous Android, j'ai un doute sur les évènements OnMouse.
    A mon avis, quelque soit le cas s'il y a header, il faut trouver le Header pour lui affecter les évènements. Je pense que je vais faire un test

    NB. Il y a eu des changement avec la version 12, on accède au header (à lire ce que j'ai pu faire sur les grilles https://www.developpez.net/forums/d2...itre-colonnes/, )

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Je pense que je vais faire un test
    Voilà en zip ce que je propose. Je n'ai pas pu tester sous Android car impossible de déployer

    Cela fonctionne sous windows, reste quand même à ajouter et montrer la sélection de la colonne peut-être en s'inspirant de ceci https://github.com/Serge-Girard/StringGrid2Clipboard
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2024
    Messages : 35
    Par défaut
    J'ai essayé ton programme.
    Pour windows c'est OK
    Pour Android, lors de la construction j'ai l'erreur :
    [PAClient Erreur] Erreur : E7688 Impossible d'exécuter '"C:\Program Files\Eclipse Adoptium\jdk-11.0.15.10-hotspot\bin\java.exe" -cp "c:\program files (x86)\embarcadero\studio\22.0\bin\Android\r8-3.3.28.jar" com.android.tools.r8.D8 --release --min-api 23 --output "C:\projectgrid\Android\Debug\ProjectGrid.classes" @"C:\projectgrid\Android\Debug\dex_list.txt"' (erreur 1)

    Mais j'ai regardé ton programme et j'ai incorporé les mêmes éléments que toi.
    Sous Windows, les colonnes se déplacent bien et j'obtiens bien dans le StringGrid1ColumnMoved les informations du déplacement.
    Sous Android, les colonnes ne se déplacent pas et naturellemnt rien dans le StringGrid1ColumnMoved
    Je suis en version 11CE. Peut-être faudrait-il que je passe en 12 CE. Est-ce que ça passe facilement ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    Je n'utilise pas Eclipse mais, moi aussi, j'ai un problème de déploiement (voir forum EDI) pourtant, l'année dernière, je n'avais aucun problème pour mes tests

    Oui, j'ai fait le programme en D12 (D12.2 Entreprise pour être exact) la version Community correspond à la version D12.1 il me semble.

    Je suis en version 11CE.
    c'est pour cela que j'aime bien que soit indiqué la version dans le post de départ et que "par défaut" j'essaye avec la version la plus proche de la Community (pour avoir la 12.1 je serai obligé de passer par une VM mais j'ai écrasé la version pour mettre la version Beta 12.3)
    Passer de D11 à D12 ne devrait pas poser de difficulté

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    La bonne nouvelle, j'ai réussi à reconfigurer mon SDK Android
    Nom : Capture.png
Affichages : 116
Taille : 114,7 Ko
    Avec les boutons, ça fonctionne sur Android

    avec les mouvements ... mon code doit certainement avoir encore quelques soucis (c'est pour cela que je ne le fourni pas)
    Oui, il y a des améliorations :
    J'ai ajouté une colonne supplémentaire
    j'ai ajouté de la couleur pour la colonne sélectionnée il faut que je colorie aussi le Header tant qu'à faire
    je "mémorise" la colonne sélectionnée (donc c'est plus facile à déplacer en plusieurs fois

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

Discussions similaires

  1. [Dojo] event onchange sur les cellule dojox.grid.datagrid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 14/09/2010, 11h52
  2. Event.observe sur IE
    Par moumoune65 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2007, 11h45
  3. Events "OnBeforeLoad()" sur le body
    Par NikoBe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/10/2006, 16h00
  4. [FLASH 8] Probleme onMouseDown sur occurence
    Par luta dans le forum Flash
    Réponses: 1
    Dernier message: 20/09/2006, 00h21
  5. [Event] ChangeListener sur JSpinner
    Par tomburn dans le forum Général Java
    Réponses: 2
    Dernier message: 01/04/2005, 16h45

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