[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Наш сайт » Visual basic » Показывает на какой строке и в каком месте находится курсор (Показывает на какой строке и в каком месте находится курсор)
Показывает на какой строке и в каком месте находится курсор
ilimДата: Среда, 09.11.2011, 22:30 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 680
Награды: 17
Репутация: 4
Статус: Offline
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


www.ilim.kz
 
Форум » Наш сайт » Visual basic » Показывает на какой строке и в каком месте находится курсор (Показывает на какой строке и в каком месте находится курсор)
Страница 1 из 11
Поиск: