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 :

Clavier


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Inscrit en
    Août 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 14
    Par défaut Clavier
    Bonjour à tous,
    Je souhaite faire une petite appli qui simulera un clavier.
    Un clavier composé de boutons représentant toutes les lettres : le problème est comment lui dire : "quand je clique sur la lettre L, affiche L dans l'Edit qui a le focus". ou alors "simule moi sur le clique du bouton L, l'évènement du vrai clavier de la lettre L".
    J'ai essayé avec un bouton et deux edits sur l'évènement on_click du bouton :
    if edit1.focused = true then edit1.text := Edit1.text + L;
    mais j'ai l'impression que dès qu'on clique sur le bouton c'est lui-même qui prend le focus. Et même en rajoutant devant cette ligne "edit1.focused;" cela ne change rien.
    Merci de votre aide

  2. #2
    Teo
    Teo est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 110
    Par défaut
    Slt,

    peut etre un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Procedure TForm.BtLettreClick(Sender:TObject);
    Begin
      If Not (Sender Is TButton) Then Exit;//Si c'est pas un Boutton, on dégage
      Edit.Text := Edit.Text+(Sender As TButton).Caption;
    End;
    Ce code implique
    1 - tous les bouttons(Lettre) doivent avoir pour
    Caption la valeur de la lettre qu'il represente
    2 - Tous les bouttons(lettre) doivent avoir pour evenement OnCLick
    "BtLettreClick"
    J'ai pas testé mais ca devrait marcher

  3. #3
    Membre averti
    Inscrit en
    Août 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 14
    Par défaut Novice
    Merci pour ta réponse, cependant je suis novice en delphi et j'ai copié ta procédure dans le code (seulement) et il m'indique : "; attendu mais . trouvé" avec le curseur à côté de "TForm."
    Je dois peut être déclarer quelque chose ...
    J'suis désolée...

  4. #4
    Expert confirmé

    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 : 58
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    Non, il faut utiliser un TSpeedButton, car le SpeedButton ne prend jamais le focus, celui-ci va donc rester sur le TEdit sélectionné. Ensuite pour gérer l'ajout de la lettre, utilise la propriété ActiveControl de la fiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
      If ActiveControl Is TCustomEdit Then
        TCustomEdit(ActiveControl).Text:=TCustomEdit(ActiveControl).Text+'L';
    end;
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  5. #5
    Teo
    Teo est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 110
    Par défaut
    mon Tform doit etre remplacé par ton "tfrom" (ta fiche)
    elle s'appelle peut etre TForm1 ?
    Le mieu c'est que
    - tu effaces ma procedure.
    - double cliq sur ton boutton "a"
    - et en tre le begin et le end, tu colles juste les 2 lignes
    suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not (Sender Is TButton) Then Exit;//Si c'est pas un Boutton, on dégage 
      Edit1.Text := Edit1.Text+(Sender As TButton).Caption;
    Attention, il te faut un composant "Edit1"

  6. #6
    Membre averti
    Inscrit en
    Août 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 14
    Par défaut UN GRAND GRAND GRAND MERCI
    Merci à Téo et à Nono pour leurs rapidités et leurs réponses.
    J'ai utilisé la solution de Nono et cela fonctionne.
    Un énorme merci à vous deux.

    Il est trop cool ce forum.


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

Discussions similaires

  1. [Turbo Pascal] Entrée au clavier sous forme ******
    Par Upal dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 15/02/2003, 14h42
  2. [TP]vider le tampon clavier
    Par kael kael dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 11/01/2003, 22h19
  3. Clavier Azerty
    Par Smortex dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 16/12/2002, 20h33
  4. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11
  5. Vider le buffer du clavier
    Par flavien tetart dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 12/07/2002, 08h35

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