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

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

Najdar 29 Messages postés mardi 4 novembre 2003Date d'inscription 20 mars 2006 Dernière intervention - 9 mai 2005 à 11:33
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 9 mai 2005 à 11:51
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 9 mai 2005 à 10:37
0
Utile
Text1.SelStart = 65535

Daniel
NHenry 14132 Messages postés vendredi 14 mars 2003Date d'inscription 21 avril 2018 Dernière intervention - 9 mai 2005 à 10:42
0
Utile
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
Najdar 29 Messages postés mardi 4 novembre 2003Date d'inscription 20 mars 2006 Dernière intervention - 9 mai 2005 à 10:58
0
Utile
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...
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 9 mai 2005 à 10:59
0
Utile
c'est ce que j'ai dis et en plus j'évite une fonction.

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

Daniel
Najdar 29 Messages postés mardi 4 novembre 2003Date d'inscription 20 mars 2006 Dernière intervention - 9 mai 2005 à 11:58
0
Utile
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.