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 :

Drag and Drop entre 2 grids


Sujet :

Composants FMX Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Par défaut Drag and Drop entre 2 grids
    Bonjour,

    j'étais en train de terminer une approche Dnd entre 2 QTableWidgets en Qt (l'équivalent de 2 StringGrids) et je me disais que je ne savais pas faire cela en FMX.

    Bon j'écarte pour l'instant les TStringGrids de Delphi puisque je n'ai pas regardé comment gérer la multisélection sur ces petites bestioles. J''ai réglé cette insuffisance en Lazarus donc à priori en Delphi VCL, mais à priori c'est peut-être faisable en FMX (selon la version de XE). Je n'ai pas testé.

    Toujours est-il que je cherche
    • une synthèse sur l'utilisation des TStringGrids en FireMonkey [pour éviter les confusions d'approche avec VCL]
    • une approche DnD entre 2 grilles éventuellement pour celles de TMS

    Quelqu'un a-t-il cela ?
    Merci. Gilles.

  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
    DnD tu peux traduire ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Par défaut
    Drag and Drop (glisser-déposer)... Mais j'ai retrouvé un vieux code (et une vieille discussion) sur lequel on avait travaillé et qui est loin de ce qu'on fait en Qt (pas si facilement que cela d'ailleurs... enfin en ce qui me concerne). Mais je ne désespère pas. Le problème, c'est l'évolution du code. On se croirait avec Lazarus : je regardais le code des FMX.Grid.pas entre 2 versions . Il faut bien que le produit évolue. Mais si tu surcharges ou mieux si tu "dérives" ton propre composant entre une XE4/5 et une XE7 tu peux tout réécrire.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Par défaut
    Bonjour,

    c'est à peu près réglé.
    Reste un point délicat avec la gestion des curseurs : qu'est-ce qui fait qu'un sgSrc.Cursor := crHandPoint; dessine bien le curseur alors que sgSrc.Cursor := crDrag ou sgSrc.Cursor := crMultiDrag ne fonctionne pas à la demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.sgSrcMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Single);
    begin
    [...]
    if not (sgSrc.Cursor = crHandPoint) then  sgSrc.Cursor := crHandPoint;
    end;
     
    procedure TForm1.sgSrcMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Single);
    begin
    [...]
    if not (sgSrc.Cursor = crDrag) then  sgSrc.Cursor := crDrag;
    end;
    D'ailleurs si on place dans l'inspecteur d'objet de la grille, Curseur -> crDrag, c'est le curseur par défaut qui apparait.

    Merci.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Par défaut
    C'est très curieux. Je ne suis pas arrivé à "forcer" le Drag and Drop (c'est à dire le permettre) entre 2 TMSFMXGrid avec les méthodes relatives à Drag ou/et Drop. J'ai dû utiliser les événements de la souris : c'est ridicule ! Tant autant que les TStringGrids natives mono-sélection Il y a encore une place pour les futures évolutions dans le monde Delphi. Quel IDE ne propose pas actuellement nativement ces capacités nécessaires à pratiquement tous les développements usuels ? Et comment apprécier ces insuffisances en terme de productivité ?

  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
    Citation Envoyé par ApproxDev Voir le message
    C'est très curieux. Je ne suis pas arrivé à "forcer" le Drag and Drop (c'est à dire le permettre) entre 2 TMSFMXGrid avec les méthodes relatives à Drag ou/et Drop.
    pas tant que ça, j'ai lu que ce n'était pas implémenté (la demande date d'il y a un an il faudrait depuis vérifier dans les updates)
    Citation Envoyé par TMSSoftware SUPPORT
    Sorry, at this time there is no built-in support for inter grid drag & drop. Drag & drop is limited to operations within one grid. You'd have to add code for this at application level.

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

Discussions similaires

  1. Difference entre Canvas et Grid
    Par topolino dans le forum Silverlight
    Réponses: 4
    Dernier message: 03/11/2009, 16h41
  2. [Dojo] dnd : du grid vers tree
    Par devkaty dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 16/07/2009, 09h42
  3. Réponses: 0
    Dernier message: 04/05/2009, 12h03
  4. Différences entre dbcontrol et grid control
    Par ducho dans le forum Entreprise Manager
    Réponses: 2
    Dernier message: 15/01/2009, 17h04
  5. Comment réaliser un Drag & Drop entre 2 grids ?
    Par stipey dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/08/2008, 11h46

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