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 :

StringGrid + Drag & Drop


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Par défaut StringGrid + Drag & Drop
    Salut,

    Ben tout est dans le titrev :-)
    Je cherche à drap/droper des éléments d'un DBGrid !


    Merci de votre aide !

    Mickael

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 936
    Par défaut


    ....car déjà abordé dans ce forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Par défaut
    re,

    Disons que je me suis trompé.. c'est pas un DBGrid, mais un StringGrid !

    J'ai pas trouvé grand chose sur le forum, par contre ceci sur Google:

    http://www.festra.com/wwwboard/messages/10053.html

    Le problème viens du fait que ca marche, mais il ne "bouge" que la cellule qu'on à cliqué, et moi je voudrais bouger toute la ligne ...

    GoRowSelected = True

    Quelqu'un à ca dans le tirroir ?
    Merci

  4. #4
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 936
    Par défaut
    Citation Envoyé par mickaelmediaprod
    moi je voudrais bouger toute la ligne ...
    Ca c'est le drag.

    Le drop, tu le fais où ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Par défaut
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
     
    implementation
     
    {$R *.DFM}
     
    var
      SourceCol, SourceRow: integer;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      { Set DragMode to Manual, to control entire drag & drop by code }
      SG.DragMode := dmManual; 
      { For testing purposes, fill a few cells }
      SG.Cells[2, 2] := 'A';
      SG.Cells[3, 2] := 'B';
      SG.Cells[4, 2] := 'C';
    end;
     
    procedure TForm1.SGMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: integer);
    begin
      { Convert mouse coordinates X, Y to
        to StringGrid related col and row numbers }
      SG.MouseToCell(X, Y, SourceCol, SourceRow);
      { Allow dragging only if an acceptable cell was clicked
        (cell beyond the fixed column and row) }
      if (SourceCol > 0) and (SourceRow > 0) then
        { Begin dragging after mouse has moved 4 pixels }
        SG.BeginDrag(False, 4);
    end;
     
    procedure TForm1.SGDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    var
      CurrentCol, CurrentRow: integer;
    begin
      SG.MouseToCell(X, Y, CurrentCol, CurrentRow); // convert mouse coord.
      { Accept dragged stuff only if it came from StringGrid
        and the mouse is now over an acceptable region } 
      Accept := (Sender = Source) and
                (CurrentCol > 0) and (CurrentRow > 0);
    end;
     
    procedure TForm1.SGDragDrop(Sender, Source: TObject; X, Y: Integer);
    var
      DestCol, DestRow: Integer;
    begin
      SG.MouseToCell(X, Y, DestCol, DestRow); // convert mouse coord.
    { Move contents from source to destination }
      SG.Cells[DestCol, DestRow] := SG.Cells[SourceCol, SourceRow];
      if (SourceCol <> DestCol) or (SourceRow <> DestRow) then
        SG.Cells[SourceCol, SourceRow] := '';
    end;
    Beuuuuuh ???

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Par défaut
    sur les newsgroup:


    http://groups.google.be/group/alt.co...b8b6213e960b8e

    C'est tout ce que j'ai trouvé.. bouger une cellule ou une collone , mais jamais une ligne !! help :s

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Je connais pas trop cette outils la, mais as tu fais des essais en changeant des elements du code que tu as recuperé? Par exemple dans TForm1.SGDragDrop, si tu changes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      SG.Cells[DestCol, DestRow] := SG.Cells[SourceCol, SourceRow];
      if (SourceCol <> DestCol) or (SourceRow <> DestRow) then
        SG.Cells[SourceCol, SourceRow] := '';
    Par un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      SG.Rows[DestRow] := SG.Rows[SourceRow];
      if  SourceRow <> DestRow then
        SG.Rows[SourceRow] := '';
    Je n'est pas testé mais ca me semblerai correct.
    A plus

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  3. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

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