Copier-Coller dans un champ de saisie
Stagiaire WDF
Inscrit:
26/06/2003 09:14
De alençon (orne - basse-normandie - france - terre ...)
Post(s): 16
bonjour,

je débute en windev et je me demandais s'il était possible de désactiver le Copier-Coller (ctrl-V) dans un champ de saisie.

merci

Contribution le : 26/06/2003 09:19
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Oui, il faut intercepter les touches ctrlC et ctrlV
- dans le code du champ activer l'évènement 'touche relachée' et y mettre le code qui fait que la touche sera inactive...

Si _EVE.wparam = code_pour_ctrlC_ou_ctrlV  alors
      _EVE.retour=0
fin


désolé mais j'ai pas trouvé en qqs minutes le code des ctrlC||V

Contribution le : 26/06/2003 10:15
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Stagiaire WDF
Inscrit:
26/06/2003 09:14
De alençon (orne - basse-normandie - france - terre ...)
Post(s): 16
merci bien romu,

ça marche nickel
si ça interesse qqun
code copier : WM_COPY = 769
code coller : WM_PASTE = 770

petitstagiaire

Contribution le : 26/06/2003 11:00
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
De rien.

Merci pour le complément, c'est important et cela peut toujours intéresser quelqu'un.

Contribution le : 26/06/2003 11:10
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Stagiaire WDF
Inscrit:
26/06/2003 09:14
De alençon (orne - basse-normandie - france - terre ...)
Post(s): 16
Autre problème :

Voici mon code
//initialisation de la fenetre
//on récupère WM_PASTE
Evénement("IdentEvenement","Saisie1", 770)


//Procédure Locale
PROCEDURE IdentEvenement(Message, wParam, lParam)

//On renvoit l'évènement WM_UNDO
_EVE.Retour = 772


Ce code marche bien pour les champs de saisie (même multiligne) mais lorsque je coche l'option "Format R.T.F", il ne veux plus rien entendre.


j'ai un peu cherché dans la liste des evènements windows mais c'est un peu imbuvable et je suis peut etre sur la mauvaise piste

si qqun à un peu de temps à perdre


bon apétit

petitstagiaire

Contribution le : 26/06/2003 11:57
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Stagiaire WDF
Inscrit:
26/06/2003 09:14
De alençon (orne - basse-normandie - france - terre ...)
Post(s): 16
A défaut j'ai trouvé une feinte de la mort :

j'utilise ctrl-v comme lettre d'appel.
vu que c'est la seule chose que j'avais à bloquer ça marche pas mal.

si vous avez qd même qque chose de plus catholique merci de me le faire savoir

petitstagiaire

Contribution le : 26/06/2003 15:02
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Non j'ai rien sous la mais de relatif aux champs de saisie RTF.

C'est bien bizarre, qu'en dit le ST PCSoft ?
Tu peux leur envoyer une fenêtre pour tester (juste la fenêtre avev un champ sa sasie normal et un compatible RTF)

la seule chose serai de standardiser ton évènement() sur la fenêtre avec un "*." à la place du nom du champ.

Contribution le : 26/06/2003 15:16
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Stagiaire WDF
Inscrit:
26/06/2003 09:14
De alençon (orne - basse-normandie - france - terre ...)
Post(s): 16
bonjour,

voici une réponse qui désactive vraiment le ctrl-v et qui peut être complétée pour désactiver d'autres touches. réponse donnée par JL :


// Code dans la zone déclarations globales de la fenêtre
// saisie1 étant le champ rtf

EM_SETEVENTMASK est un entier = 0x400 + 69
SendMessage(Handle(Saisie1),EM_SETEVENTMASK,0,0x10000)
Evénement("IdentEvenement","",0x4E) //4e=notify


//
PROCEDURE IdentEvenement()

msgfilter est une structure
hwndFrom est un entier
idFrom est un entier sans signe
code est un entier sans signe
msg est un entier sans signe
wParam est un entier
lParam est un entier
FIN

msg est un msgfilter
API("kernel32","RtlMoveMemory",&msg,_EVE.lparam,Dimension(msg))

SI msg:hwndFrom = Handle(Saisie1) ALORS
SI msg:code = 0x700 // EN_MSGFILTER
SI msg:msg = 0x100 ALORS // WM_KEYDOWN
SI msg:wParam = 86 ET ToucheEnfoncée(teControl) ALORS // CTRL V
RENVOYER 1
FIN
FIN
FIN
FIN


bon courage

petitstagiaire


nb : je ne vous cache pas que je n'ai pas tout compris mais ça s'utilise bien

Contribution le : 27/06/2003 09:26
Créer un fichier PDF de la contribution Imprimer


Re: Copier-Coller dans un champ de saisie
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Merci pour le tuyau.
Une fois de plus JL nous montre sa compétence en API !
Une sacré connaissance sur l'interception des evènements.

Contribution le : 27/06/2003 09:41
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2