Comment afficher les dernières lignes d'un TextBox multiligne

Résolu
Najdar Messages postés 29 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 20 mars 2006 - 9 mai 2005 à 10:26
Najdar Messages postés 29 Date d'inscription mardi 4 novembre 2003 Statut Membre 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

8 réponses

Najdar Messages postés 29 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
9 mai 2005 à 11:33
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
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 mai 2005 à 11:51
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
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 mai 2005 à 10:37
Text1.SelStart = 65535

Daniel
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
9 mai 2005 à 10:42
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Najdar Messages postés 29 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
9 mai 2005 à 10:58
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...
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 mai 2005 à 10:59
c'est ce que j'ai dis et en plus j'évite une fonction.

Daniel
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 mai 2005 à 11:53
oups encore en retard !

Daniel
0
Najdar Messages postés 29 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
9 mai 2005 à 11:58
Merci Gobillot,

Mon problème était avec le scroll vertical.
0
Rejoignez-nous