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 :

[debutant]class TCustomEdit et les fonctions Copier/Coller [FAQ]


Sujet :

C++Builder

  1. #1
    Membre du Club Avatar de Revan777
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 87
    Points : 52
    Points
    52
    Par défaut [debutant]class TCustomEdit et les fonctions Copier/Coller
    Bonjour,
    j'aimerai intégrer dans une application les fonctions Windows Copier/Coller.
    En cherchant dans l'aide Builder, j'ai vu qu'il fallait utiliser un objet TCustomEdit mais je ne le trouve pas dans les objets proposés dans la barre des tâches. Quelqu'un peut-il me dire comment intégrer ces fonctions ? merci.

  2. #2
    Membre actif
    Avatar de Djob
    Inscrit en
    Août 2002
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 215
    Points : 279
    Points
    279
    Par défaut
    TCustomEdit est le composant de base de TEdit,
    qui est une simple Boite d'edition : tu ne trouveras que TEdit dans la palette
    ...l'autre composant servant à créer des composants personnalisés de type EditBox....
    ... ça n'a pas grand chose a voir avec le copier/coller

    regarde plutot du cote de la classe TClipboard ....

  3. #3
    Membre du Club Avatar de Revan777
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 87
    Points : 52
    Points
    52
    Par défaut
    TCustomEdit possède pourtant les fonctions membres CopyToClipboard et PasteFromClipboard ? A quoi servent-elles alors ?

  4. #4
    Membre actif
    Avatar de Djob
    Inscrit en
    Août 2002
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 215
    Points : 279
    Points
    279
    Par défaut
    à copier coller bien sûr mais juste pour le contenu d'une boite d'edition comme TEdit...il ya aussi ces methode dans TCustomMemo et bien d'autre

    comme TEdit descend de TCustomEdit (heritage )
    on peut faire si on a Edit1 ( etant une TEdit)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1->CopyToClipboard();
    et on peut consulter le clipoard via TClipboard ....

    tu trouves ces methodes dans TCustomEdit aussi bien que dans TCustomMemo et d'autre , pour te permettre de couper /copier/ coller le texte qu'ils contiennent.... ce n'est pas pour autant qu'il faut un TCustomEdit pour faire en general du Copier/Coller ....

  5. #5
    Membre du Club Avatar de Revan777
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 87
    Points : 52
    Points
    52
    Par défaut
    Ok j'ai compris mais comment je peux faire alors pour Copier le texte selectionné dans un TEdit (ça peut être n'importe quel Edit de la fiche) ?
    J'accède à la fonction Copier dans mon menu Edition->Copier.
    Pareil pour la fonction Coller.
    Y a moyen de savoir dans quel Edit est placé le curseur de la souris ?

  6. #6
    Membre actif
    Avatar de Djob
    Inscrit en
    Août 2002
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 215
    Points : 279
    Points
    279
    Par défaut
    oui .

    par exemple , on a dans le menu principal les items copier , coller.
    voici une façon parmi d'autres de faire ( celle qui me vient à l'esprit en ce moment ) :

    dans le code de l'evenement click de l'item copier :
    on va chercher le composant actif dans la fiche (Form1)
    selon que c'est un edit ou un memo on en copie le texte selectionné.


    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
    #include <vcl\Clipbrd.hpp>
     
    void __fastcall TForm1::Copier1Click(TObject *Sender)
    {
         // on trouve le control actif
         TWinControl * Ctrl = this->ActiveControl;
     
         // on prend le nom de ce composant
         String ComponentName = Ctrl->Name;
     
         // on cherche ce composant dans la fiche
         TComponent * compnt = this->FindComponent(ComponentName);
     
         // on enregistre le nom de la classe ( TEdit...)
         String ComponentClassName =  compnt->ClassName();
     
         if( ComponentClassName=="TEdit")     //copie le texte selectionné
         {
            TEdit *  Edit = (TEdit *)compnt;
            Edit->CopyToClipboard();    //copie dans le Clipoboard
         }
         if(ComponentClassName=="TMemo")
         {
            TMemo *  Memo = (TMemo *)compnt;
            Clipboard()->Clear();    //on efface le contenu du clipboard
            Memo->CopyToClipboard(); //copie le texte selectionné
         }
    }
    pour coller même chose sauf qu'on utilise PasteFromClipboard()..


    Par Contre si on veut tout le contenu ( pas seulement le texte selectionné ) il faut passer par le Clipboard:

    et remplacer par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Edit->CopyToClipboard();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Clipboard()->SetTextBuf(Edit->Text.c_str());

    voila

    bonne continuation.
    Djob.

  7. #7
    Membre du Club Avatar de Revan777
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 87
    Points : 52
    Points
    52
    Par défaut
    Merci bien je devrais m'en sortir avec ça

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

Discussions similaires

  1. fonctions Copier Coller
    Par Spitfire 95 dans le forum Tkinter
    Réponses: 3
    Dernier message: 27/08/2010, 14h27
  2. Comment remplacer la fonction Copier/Coller
    Par P96O1004 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/03/2009, 13h39
  3. Fonction copier, coller, couper
    Par PhoeniX1405 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 23/09/2008, 16h24
  4. fonction copier coller
    Par kroma23 dans le forum Delphi
    Réponses: 1
    Dernier message: 29/05/2007, 03h12
  5. Fonction copier/coller avec un menu
    Par avogadro dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2006, 23h44

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