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

[TstringGrid] et position curseur


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut [TstringGrid] et position curseur
    Salut a tous !
    Je cherche une methode pour connaitre la position du curseur dans une cellule d'un TstringGrid qui se trouve en mode edition .
    Le but etant d'interdire la saisie de certains caracteres en fonction de leur position dans le texte.

    Merci et bye !
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    Pas trop certain de comprendre l'utilité de connaître la position du curseur.

    J'ai probablement mal compris ce que tu veux faire mais supposons que tu veuilles interdire le caractère 'a' pour la troisème lettre de la cellule alors...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
       if (key='a') and (length(stringgrid1.Cells[stringgrid1.Col,stringgrid1.Row])=2)
    then   key:=#0;
    end;

  3. #3
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    Non pas aussi simple ,

    en fait imagine la chaine suivante 1254.24 et l'utilisateur appuye sur la toume "m"

    je dois interdire la saisie si elle a lieu avant le point et l'autoriser si elle a lieu apres le point

    1254.24m => autorisé.

    125m4.24 => interdit .

    et comme je teste tout dans le OnKeypress de mon tableau ,je voudrais connaitre la position du curseur ( insersion ) pour faire mes test !

    c'est surement plus comprehensible avec un exemple .. lol

    bye
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    ah ok je vois

    Utilise le "inplaceeditor" et la propriété selstart pour obtenir la position du curseur

    Tu devras créer un descendant de tstringgrid et rendre la propriété inplaceeditor publique.

    Par la suite tu peux avoir la position du curseur avec inplaceeditor.selstart

  5. #5
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Non, on peut le connaitre sans surchage :

    TInplaceEdit(StringGrid.Components[0])
    Tester ensuite s'il est différent de Nil ( être effectivement en modification de cellule )
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    Encore plus facile alors

  7. #7
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    Alors çà semble fesable !! par contre si je pouvais avoir plus detail sur le "InplaceEditor" :
    Qui est ce : un composant , une proprieté ...

    Je suis en manque d'info là , merci d'avance pour les explications..
    bye
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    On a pas mal tout dit je crois

    Petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
    if TInplaceEdit(StringGrid1.Components[0]) <>nil then
     form1.Caption:=inttostr(TInplaceEdit(StringGrid1.Components[0]).selstart);
     
    end;

  9. #9
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    Oui c'est impec pour les Stringgrid de delphi ! çà marche impec !

    mais je suis avec des tableaux de chez TMS et lui n'aime pas du tout le TimplaceEdit .

    Je pense qu'il gere cela autrement .. et je ne trouve pas l'equivalent chez le tableau de TMS . j'utilise deja un editeur associé a ma grille , mais qui lui me donne aucune propriété.

    Merci quand même a tous je vais voir ce que je vais faire :
    - Repasser par une grille normale ( delphi ) et gerer mes cellules tous en perdant les avantage de la grille TMS .
    - Ou garder ma grille TMS et pas gerer mes cellules comme je le voulais .

    bye.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    Quel editortype utilises-tu pour les cellules dans lesquelles tu désires connaître la position du curseur ?

    Si c'est ednormal alors c'est très simple tu fais
    advstringgrid1.NormalEdit.SelStart

    btnedit.selstart pour un edit+bouton
    spinedit.selstart pour un edit+spin

    si c'est edcustom regarde du côté de la propriété editlink

  11. #11
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    avant j'avais un edFloat et comme cela ne gerait pas mes saisies de valeurs reelles a ma convenant je suis repassé par un EdNormal et j'ai voulu gerer ma saisie !!

    Quand je pense a que j'ai galeré presque 1 jour entier sans penser au SelSart de mon editeur en situe !!!!!!!!!!
    .

    Desfois on ferait mieux de ce coucher !!

    merci a toi
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

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

Discussions similaires

  1. position curseur souris par rapport à ma JTable
    Par jdewalqu dans le forum Composants
    Réponses: 3
    Dernier message: 24/08/2006, 17h21
  2. Position curseur réécriture
    Par Angeldu74 dans le forum WinDev
    Réponses: 3
    Dernier message: 22/06/2006, 15h01
  3. position curseur dans TEdit
    Par bandit boy dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/03/2006, 16h53
  4. [win32][D5] - position curseur dans paintbox
    Par bregolhen dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/11/2005, 23h45
  5. Réponses: 4
    Dernier message: 07/06/2005, 15h14

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