Visual Basic - Número Líneas de un TextBox

Life is soft - evento anual de software empresarial
 
Vista:

Número Líneas de un TextBox

Publicado por Mónica (7 intervenciones) el 06/10/2000 00:00:00
Necesito incrementar el alto de un texBox a media que escribe. Ahora mismo la propiedad MultiLine permite escribir en varias líneas pero cuando llega al final de la caja de texto mueve el texto hacia arriba.
Si alguien sabe como conocer la cantidad de líneas de un texbox para así aumentar la propiedad Height de la caja de texto.
Muchísimas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Número Líneas de un TextBox

Publicado por Luis L. (4 intervenciones) el 06/10/2000 00:00:00
Monica, creo que la única manera de manipular contenido de un textbox (con multiline = true) es por medio de APIS. Los mensajes de windows te ofrecen muchas posibilidades de manejar el TextBox... te añado un ejemplo, en el que "variable" contendrá el nº de lineas del textbox.

´DECLARACIÓN EN MÓDULO .BAS
Public Const EM_GETLINECOUNT = &HBA
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

´CODIGO PARA MÓDULO CLIENTE
Dim variable As Long
variable = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0, 0)

.... espero haberte ayudado. Un saludito.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Número Líneas de un TextBox

Publicado por tecniCam (220 intervenciones) el 06/10/2000 00:00:00
Lo mismo pero un poquito más ampliado que lo que dice Luis:

´Declaración del API de 16 bits
Declare Function SendMessage Lib "User" _
(ByVal hWnd As Integer, ByVal wMsg As Integer, _
ByVal wParam As Integer, lParam As Any) As Long

´Declaración del API de 32 bits.
Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Long) As Long

Const WM_USER = 1024
Const EM_GETLINECOUNT = WM_USER + 10
Const EM_LINEFROMCHAR = WM_USER + 25

La línea actual y el número de líneas de un text-box
TotalLineas = SendMessage(Text1.hWnd, EM_GETLINECOUNT, 0, 0&)
LineaActual = SendMessage(Text1.hWnd, EM_LINEFROMCHAR, -1, 0&) + 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar