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

Delphi Discussion :

[Delphi 7] TStringGrid >> Drag and Drop


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2
    Par défaut [Delphi 7] TStringGrid >> Drag and Drop
    Bonjour à toutes et à tous,

    Voici mon souci :

    A partir d'une TstringGrid, je souhaiterais déplacer la valeur d'une colonne sélectionnée vers un mémo en utilisant la méthode Drag and Drop...

    Pour ce qui est de la méthode, ça c'est ok (vu dans l'aide delphi) et testé dans une autre appli. (déplacement des éléments d'une TListBox vers une TTreeView), MAIS avec une TstringGrid, quand j'active dans un 1er temps la propriété DragMode = dmAutomatic , je ne peux plus faire de sélection dans ma grille.... (à ce stade là je n'ai encore pas codé, juste changé la propriété)

    Dans l'attente, de vos réponses qui toutes, seront les bienvenues.
    Merci d'avance.

    pour info (Dephi 7 - Win XP)

  2. #2
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    DragMode, c'est pour la source (ce que tu fais glisser)

    Demonstration :
    - Une Fiche
    - Un StringGrid
    - Deux Labels (DragMode=dmAutomatic)

    Coté réception du glissé déposé, ça se passe comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    //OnDragOver du StringGrid
    procedure TForm1.StringGrid1DragOver(Sender, Source: TObject; X,
      Y: Integer; State: TDragState; var Accept: Boolean);
    begin
      //On autorise le déposé de Labels et de rien d'autre
      if (source is TLabel) then Accept:=true;
    end;
     
    //OnDragDrop du StringGrid (Le déposé à été autorisé dans l'évènement
    //   OnDragOver)
    procedure TForm1.StringGrid1DragDrop(Sender, Source: TObject; X,
      Y: Integer);
    var CellX,CellY:integer;
    begin
      //taransforme les coordonnées de la souris en coordonnées "Grille"
      StringGrid1.MouseToCell(x,y,CellX,CellY);
      //Mise à jour de la cellule visée
      if (source is TLabel) then
      StringGrid1.Cells[CellX,CellY]:=(source as TLabel).Caption;
    end;
    Quand tu glisses les labels sur la stringgrid, le caption du TLabel que tu glisses est copié dans la cellue visée par la souris.

    Voilà, voilà

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. Delphi Xe2 Drag and Drop
    Par morpheus0010 dans le forum Langage
    Réponses: 8
    Dernier message: 10/10/2011, 11h57
  3. Drag and drop entre 2 TStringGrid
    Par dark0502 dans le forum C++
    Réponses: 0
    Dernier message: 20/04/2008, 00h04
  4. Réponses: 4
    Dernier message: 01/10/2005, 11h03
  5. Drag and Drop inter process entre delphi et une appli. ext.
    Par protheus dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/06/2005, 22h36

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