[Résolu] Edit mono-ligne avec retour à la ligne ?

Edit mono-ligne avec retour à la ligne ? [Résolu] - API Win32 - Programmation

Marsh Posté le 04-04-2009 à 01:38:21    

Bonjour,
 
J'ai créé un contrôle Edit dont la hauteur est de plus de 200 pixels.
En tapant du texte dedans, quand j'atteins le bord droit, il n'y a pas de retour à la ligne pour que je puisse continuer à saisir du texte.
 
J'ai essayé le style ES_AUTOVSCROLL, mais rieen: une fois au bord droit, je ne peux plus saisir et pas de retour à la ligne.
Je précise que je ne veux pas d'un Edit multi-lignes, mais bien mono-ligne (style par défaut).
 
Des idées ?


Message édité par p-seeker23 le 04-04-2009 à 23:23:43
Reply

Marsh Posté le 04-04-2009 à 01:38:21   

Reply

Marsh Posté le 04-04-2009 à 15:20:42    

Si tu veux un retour à la ligne, tu veux deux lignes, donc du multiligne, non ?
Si tu as une maison avec plusieurs étages, tu ne peux pas dire qu'elle n'a qu'un rez de chaussé.
Et puis pourquoi ne pas vouloir du multiligne ?
De toutes manières, le mieux, c'est le Rich Edit Control.

Reply

Marsh Posté le 04-04-2009 à 17:57:16    

Pourquoi ne pas intercepter les notifications EN_UPDATE et filtrer les retours à la ligne dans un contrôle Edit avec wordwrap et multiligne ?

Reply

Marsh Posté le 04-04-2009 à 19:12:44    

Je n'ai pas été assez clair peut-être.
Quand vous activer le word-wrap (retour à la ligne automatique en français, je pense) dans notepad et que vous tapiez 1000 fois la lettre "a", vous avez une seule ligne de texte (vous n'avez jamais tapé de retour à la ligne), mais cette ligne s'affiche sur plusieurs lignes à l'écran !
 
Je veux le même effet. Dans mon cas, dès que j'ai tapé suffisamment de "a" pour atteindre le bord droit de la fenêtre, je ne peux plus rien taper de plus, et ma ligne de texte ne se poursuit pas sur la ligne suivante à l'écran !

Reply

Marsh Posté le 04-04-2009 à 20:44:58    

La description correspond à un champ ES_MULTILINE. Je ne dis pas cela au hasard, mais parce que j'ai créé des applications avec ce genre de champs. Par exemple, j'ai utilisé la définition suivante dans le "resource files" :  

CONTROL ".", 505, "edit", ES_LEFT | ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL, 8, 32, 208, 72

Reply

Marsh Posté le 04-04-2009 à 23:19:39    

Merci billgatesanonym ! Ca marche !
 
Il faut en effet ES_MULTILINE, mais si on ne veut qu'une seule ligne, il ne faut pas faire comme moi: il ne faut pas mettre ES_WANTRETURN !
Comme ça les retours à la ligne tapés par l'utilisateur sont ignorés.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed