Главная страницаОбратная связьКарта сайта

Показывает на какой строке и в каком месте находится курсор в Textboxe



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 EM_LINEFROMCHAR = &HC9
Private Const EM_LINEINDEX = &HBB
Private Const EM_GETSEL = &HB0

Private Sub CheckPosition()
Dim char_pos As Long
Dim row As Long
Dim col As Long

char_pos = SendMessage(Text1.hwnd, EM_GETSEL, 0, 0)
char_pos = char_pos \ &H10000

row = SendMessage(Text1.hwnd, EM_LINEFROMCHAR, char_pos, 0) + 1
col = char_pos - SendMessage(Text1.hwnd, EM_LINEINDEX, -1, 0) + 1

lblPosition.Caption = "(" & Format$(row) & ", " & Format$(col) & ")"
End Sub

Private Sub Form_Resize()
Dim hgt As Single

hgt = ScaleHeight - lblPosition.Height
If hgt < 120 Then hgt = 120
Text1.Move 0, 0, ScaleWidth, hgt
lblPosition.Move 0, hgt, ScaleWidth
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
CheckPosition
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
CheckPosition
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
CheckPosition
End Sub

Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
CheckPosition
End Sub

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Показывает на какой строке и в каком месте находится курсор в Textboxe", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2022 Дискета.info