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 :

Comment détourner le message PASTE de windows ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut Comment détourner le message PASTE de windows ?
    Slt,

    voila, j'ai un compo heritant du richedit et je voudrais effectuer un traitement lorsque l'user fais un copier coller

    apres le coller en fait,

    j'ai compte donc detourner l'application.onmessage du compo et mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TFireColorSynth.AppMessage(var Msg: TMsg; var Handled: Boolean);
    begin
      if Msg.message = WM_PASTE then
      begin
               mo code ici
        //Lines.Add();
        Handled := True;
      end;
     
    end;
    mais 'aimerai que le code interviennent apres le codage, il faut donc que je remplace le collage de windows par le mien, jvois pas comment faire cela

    si vous pourriez m'aider

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    tiens, d'ailleur c'est louche,

    ctrl + v ne lance pas le message WM_PASTE,

    que se passe t'il alors ?

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut

  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 Re: Detourner le message PASTE de windows
    Citation Envoyé par firejocker
    mais 'aimerai que le code interviennent apres le codage, il faut donc que je remplace le collage de windows par le mien, jvois pas comment faire cela
    Cette partie là n'est pas claire, pas facile de répondre. Que veux-tu dire par "Après le codage" ?
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    oups,

    en fait, c'est apres le collage,

    c'est à dire que j'ai un traitement de reconnaissance de mot (coloration syntaxique) que je souhaiterai lancer apres la fin du collage par ctlr + V

    c'est plus clair ?

    [edit]

    on m'a donné une piste, mais je ne sais pas l'exploité :
    on m'a dit de voir comment fonctionne le popupmenu, car si j'en mais un dessus et que j'assigne le raccourci ctrl + V a un code dans ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TMain.coller1Click(Sender: TObject);
    var s :string;
        arr :array[0..1000]of char;
      begin
        richedit1.PasteFromClipboard;
       // mon traitement ici  
      end;
    cela fonctionne.

    je voudrai m'affranchir de tout cela en ne recuperant que le raccourci de collage.

    seulement (j'ai la version 7 pro) quand je cherche le code qui fait cela dans les sources, je bloque... jvois pas la suite de ca par exemple :

    nb : ici, c'est le memo, mais c'est pareil
    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
     
    TMemo = class(TCustomMemo)
      published
        property Align;
        property Alignment;
        property Anchors;
        property BevelEdges;
        property BevelInner;
        property BevelKind default bkNone;
        property BevelOuter;
        property BiDiMode;
        property BorderStyle;
        property Color;
        property Constraints;
        property Ctl3D;
        property DragCursor;
        property DragKind;
        property DragMode;
        property Enabled;
        property Font;
        property HideSelection;
        property ImeMode;
        property ImeName;
        property Lines;
        property MaxLength;
        property OEMConvert;
        property ParentBiDiMode;
        property ParentColor;
        property ParentCtl3D;
        property ParentFont;
        property ParentShowHint;
        property PopupMenu;
    je comprend pas ce code, pourquoi il ne ressemeble pas à
    property x : type read fx write fx; ....

    et ou il est affecté....

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 937
    Billets dans le blog
    6
    Par défaut
    j'ai regardé hier aussi !

    PasteFromClipboard génère juste un SendMessage(WM_Paste) donc rien ne sert de le surcharger...

    il faut pê faire pointer la procédure WndProc du Memo vers un traitement perso des messages pour choper le WM_Paste ?

    Et qui traite la frappe de Ctrl+V ? le Memo lui-même ? Windows ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    ok, je vais regarder du coté de WndProc donc

    merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/04/2008, 18h55
  2. Comment intercepter les messages d'un processus sous windows?
    Par Hamdi Hedhili dans le forum Général Java
    Réponses: 3
    Dernier message: 17/03/2008, 16h57
  3. Windows Live Messenger : Comment changer le message perso ?
    Par MaTHieU_ dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 13/11/2007, 00h18
  4. Comment faire un Drag&Drop vers Windows ?
    Par Lung dans le forum Composants VCL
    Réponses: 17
    Dernier message: 21/06/2004, 13h10
  5. Comment désactiver Ctrl+Alt+Del sous Windows XP
    Par ETOKA dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 04/06/2003, 13h34

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