Bouton au fonction de la touche retour arrière [Résolu]

Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
- - Dernière réponse : cs_magma
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
- 20 déc. 2006 à 10:57
Bonjour,

voila je developpe en c++ builder et je voudrais savoir comment je peux définir un clic bouton pour qu'il agisse comme la touche du clavier retour arriere (celle au dessus de la touche Enter).
C'est pour effacer un caractère après l'autre dans un Edit Box sans utiliser le clavier.

Merci  d'avance

YP
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
3
Merci
Salut,
tu n'a qu'a utiliser le simulation de touches

keybd_event(8,0,0,0);//o, appuie sur ret arrière
keybd_event(8,0,KEYEVENTF_KEYUP,0);//on relache

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tibob51
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
3
Merci
sinon au final voilà la soulution qui marche mais je trouve que ça fait un peu beaucoup je me demande si il ya pas plus court.A voi...

int nb_carac=Edit1->Text.Length();
AnsiString temp=Edit1->Text;


temp.Delete(nb_carac,1);
Edit1->Text=temp;
Edit1->Update();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tibob51
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Il y a certainement beaucoup mieux pour effacer les caractères d'un Edit Box...

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
0
Merci
ben j'etait parti sur un idée, mais sans résulta,j'ai encore un peu de mal des foi avec le vcl,il ya peut etre une protection sur le membre Text d'un Edit.
Voici le code:

int nb_carac=Edit1->Text.Length();
Edit1->Text.Delete(nb_carac,1);
Edit1->Update();

A noter que celui qui suit marche:

AnsiString a="Boujourb";
int c=a.Length();
a.Delete(c,1);
Button2->Caption=a;

J'obtient bien "bonjour"
Commenter la réponse de tibob51
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Ca me plait plus que d'utiliser keybd_event
Par contre ma m'étonne que tu mette temp.Delete(nb_carac,1); et pas temp.Delete(nb_carac-1,1);

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
0
Merci
La fonction delete supprime le nombre de caractére a partir du carractére désigné incluant celui ci.
Commenter la réponse de tibob51
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
0
Merci
Merci tibob51 pour ce piti code.
Il marche tres bien ,mais maintenant j'aimerais l'adapter pour un MaskEdit et la ca coince car la longueur de la chaine reste toiujours la même. Par contre en appuyant sur retour arriere ca efface bien carractere apres caractère
je vais essayé le simulateur de touche car dans le cas du MaskEdit, j'ai des espaces qui ne doivent pas etre pris en compte. Ce qui veut dire que le traitement devrait etre un peu plus compliqué.
Commenter la réponse de toxjamescook
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
0
Merci
Avec le simulateur de touche et le MaskEdit, ca marche du tonnerre

Merci pour tout
Commenter la réponse de toxjamescook
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
0
Merci
SendMessage(hEdit, WM_CHAR, VK_BACK, 0);
Commenter la réponse de cs_magma