Стандартное:
- Код: Выделить всё
.SelStart = 0
.SelLength = Len(.text)
ведёт к тому, что курсор оказывается в конце
.SelStart = 0
.SelLength = Len(.text)
txt.SelStart = Len(txt.Text)
SendMessage txt.hwnd, WM_KEYDOWN, VK_SHIFT, 0
SendMessage txt.hwnd, WM_KEYDOWN, VK_HOME, 0
SendMessage txt.hwnd, WM_KEYUP, VK_HOME, 0
SendMessage txt.hwnd, WM_KEYUP, VK_SHIFT, 0
Ну вот. А keks-n летом критиковам мою идею сделать так, чтобы наши контроллы понимали отрицательный SelLength
txt.SelStart = Len(txt.Text)
SendMessage txt.hwnd, WM_KEYDOWN, VK_SHIFT, &H402A0001
SendMessage txt.hwnd, WM_KEYDOWN, VK_HOME, &H1470001
SendMessage txt.hwnd, WM_KEYUP, VK_HOME, &HC1470001
SendMessage txt.hwnd, WM_KEYUP, VK_SHIFT, &HC02A0001
Dim ks(255) As Byte
txt.SelectionStart = Len(txt.Text)
GetKeyboardState(ks(0))
ks(Keys.ShiftKey) = Byte.MaxValue
SetKeyboardState(ks(0))
SendMessage(txt.Handle, WM_KEYDOWN, Keys.Home, &H1470001)
SendMessage(txt.Handle, WM_KEYUP, Keys.Home, &HC1470001)
ks(Keys.ShiftKey) = 0
SetKeyboardState(ks(0))
Dim ks As KeyboardBytes
txt.SelStart = Len(txt.Text)
GetKeyboardState ks
ks.kbByte(VK_SHIFT) = 255 'Byte.MaxValue
SetKeyboardState ks
SendMessage txt.hwnd, WM_KEYDOWN, VK_HOME, 0 ' &H1470001
SendMessage txt.hwnd, WM_KEYUP, VK_HOME, 0 ' &HC1470001
ks.kbByte(VK_SHIFT) = 0
SetKeyboardState ks
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39