Trucos Hacer scroll de un campo de texto multilínea mediante código

Declaramos la función del API a emplear :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
Private Const EM_LINESCROLL = &HB6

Parámetros :

wParam : Número de columnas a desplazar. Si es positivo se mueve el texto a la izda. y si es negativo a la dcha.

lParam : Número de líneas a desplazar. Si es positivo el texto se mueve hacia arriba y si es negativo hacia abajo.

Por ejemplo para movernos 5 líneas:

dim res as long
res = SendMessage(TextBox1.hwnd, EM_LINESCROLL, 0, 5&)


Nota :
SendMessage devuelve True si el textbox es multilinea y False si no lo es.

Para mover el texto verticalmente no hace falta que el textbox tenga una barra de desplazamiento vertical, sólo que el texto se más largo de lo que cabe en el control.

Para mover el texto horizontalmente sí hace falta que exista una barra de desplazamiento horizontal.



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com