Comment afficher les dernières lignes d'un TextBox multiligne [Résolu]

Messages postés
29
Date d'inscription
mardi 4 novembre 2003
Dernière intervention
20 mars 2006
- - Dernière réponse : Najdar
Messages postés
29
Date d'inscription
mardi 4 novembre 2003
Dernière intervention
20 mars 2006
- 9 mai 2005 à 11:58
Bonjour à tous,

J'utilise un TextBox Multiligne pour afficher des messages aux utilisateurs.
Les messages peuvent être assez long et seule la fin est vraiment utile.

Remplir le textbox ne me pose pas de problème, mais j'aimerais que les dernières lignes soient affichées par défaut (et non les premières lignes).

Quelqu'un sait-il comment faire scroller automatiquement les TextBox ?
Une API peut-être ?

Merci d'avance
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
29
Date d'inscription
mardi 4 novembre 2003
Dernière intervention
20 mars 2006
3
Merci
J'ai trouvé la solution avec les API !

Pour ceux que ça intéresse :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_VSCROLL = &H115
Private Const SB_BOTTOM = 7

SendMessage Text1.hwnd, WM_VSCROLL, SB_BOTTOM, 0

Dire « Merci » 3

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

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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
3
Merci
pas tout compris, tu dis que ça ne marche pas, en horizontal ou en vertical ? si la dernière ligne n'est pas la plus grande effectivement le curseur ne sera pas positionné au maximum vers la droite, mais c'est normal parce que c'est la ligne en cours qui doit être visible.
néanmoins je te donne une autre méthode pour agir sur les scrollbars.

Private Const WM_HSCROLL = &H114
Private Const WM_VSCROLL = &H115
Private Const SB_TOP = 6
Private Const SB_BOTTOM = 7
Private Const SB_LEFT = 6
Private Const SB_RIGHT = 7

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

SendMessage Text1.hwnd, WM_VSCROLL, SB_BOTTOM, 0
SendMessage Text1.hwnd, WM_HSCROLL, SB_RIGHT, 0

Daniel

Dire « Merci » 3

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

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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
Text1.SelStart = 65535

Daniel
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
15 décembre 2018
0
Merci
Text1.SelStart=len(Text1.Text)

Un peu mieu



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)

Une question se pose sur le forum, pas en privé


NH
Messages postés
29
Date d'inscription
mardi 4 novembre 2003
Dernière intervention
20 mars 2006
0
Merci
C'était aussi ma première idée, mais le cela ne fonctionne pas.
Le cuseur est bien à la fin du texte, mais cela ne rend pas la fin du texte visible.
Seul le début est affiché et l'on ne voit pas le curseur. Si l'on scroll vers le bas le curseur est bien à la fin du texte...
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
c'est ce que j'ai dis et en plus j'évite une fonction.

Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
oups encore en retard !

Daniel
Messages postés
29
Date d'inscription
mardi 4 novembre 2003
Dernière intervention
20 mars 2006
0
Merci
Merci Gobillot,

Mon problème était avec le scroll vertical.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.