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

C++Builder Discussion :

editer dans un Stringrid


Sujet :

C++Builder

  1. #1
    Membre confirmé Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut editer dans un Stringrid
    j'aimerai pouvoir editer un seul caractère dans une cellule stringrid. c'est dire qu'un seul caratère dans une cellule, si plusieurs caractères à la frappe le suivant s'écrit dans la cellule suivante ainsi de suite. et que le Backspace puisse supprimer le caractère précédant.
    merci

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    Solution de fortune:
    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
     
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
       X = 1;
       Y = 1;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::StringGrid1KeyPress(TObject *Sender, char &Key)
    {
       int i=0;
       if(StringGrid1->Cells[X][Y] != "") //si la case n'est pas vide
       {
           if(Key != 8)
           {
               for(i=X; i<StringGrid1->ColCount; i++)
               {
                   if(StringGrid1->Cells[i][Y] == "")
                   {
                       StringGrid1->Cells[i][Y] = Key;
                       Key = NULL;
                       break;
                   }
               }
           }
           else
           {
               for(i=StringGrid1->ColCount; i >= 1; i--)
               {
                   if(StringGrid1->Cells[i][Y] != "")
                   {
                       StringGrid1->Cells[i][Y] = "";
                       Key = NULL;
                       break;
                   }
               }
           }
       }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
          int ARow, bool &CanSelect)
    {
       X = ACol;
       Y = ARow;
    }
    Tu utilises le OnSelect pour voir dans quelle case tu es, et le On KeyPress pour choisir ou placer la lettre.
    Dans le cas d'un ajout, tu le mets à la dernière colone de la ligne à laquelle se trouve la case sélectionné, dans le cas d'une supression, tu retire le dernier de cette ligne ( à la dernière case écrite)

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

Discussions similaires

  1. edit dans messagebox
    Par didi59650 dans le forum Delphi
    Réponses: 3
    Dernier message: 06/06/2006, 11h45
  2. Couleur dans une stringrid
    Par t0ine dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/04/2006, 10h06
  3. Edition dans un ListCtrl
    Par Rupella dans le forum MFC
    Réponses: 2
    Dernier message: 22/02/2006, 15h17
  4. utilisation du contenu d'un champ edit dans une requete sql
    Par amri2006 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/01/2006, 16h05
  5. [MFC]Champ d'edition dans une Toolbar?
    Par kacedda dans le forum MFC
    Réponses: 3
    Dernier message: 08/07/2005, 11h11

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