Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / WORD и WinApi, перемещение каретки к курсору / 1 сообщений из 1, страница 1 из 1
27.12.2004, 23:03
    #32846901
likhobory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WORD и WinApi, перемещение каретки к курсору
Подскажите, как в VBA ПРОГРАММНО переместить каретку в место расположения курсора

данный код не срабатывает:


Public Declare Function GetActiveWindow _
Lib "user32" () As Long

Public Declare Function GetCursorPos _
Lib "user32" _
(pp As POINT) As Boolean

Public Declare Function ScreenToClient _
Lib "user32" _
(ByVal hwnd As Long, pp As POINT) As Boolean

Public Declare Function SetCaretPos _
Lib "user32" _
(ByVal x As Integer, ByVal y As Integer) As Boolean

Public Type POINT
x As Long
y As Long
End Type
'-------------------

sub SetCur()

Dim screen As POINT, q as Boolean

'получаем дескриптор окна WORD
hwnd = GetActiveWindow

'получаем координаты курсора

q = GetCursorPos(screen)

'преобразуем экранные координаты в клиентские
q = ScreenToClient(hwnd, screen)

'......................здесь проверяем некое условие
'......................если условие выполняется,
'......................то перемещаем каретку в место расположения курсора

'при выполнении кода окно WORD фокус не теряет

'пытаемся переместить каретку в WORD'е - безуспешно !!! - где ошибка ?
q = SetCaretPos(screen.x, screen.y)



end sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / WORD и WinApi, перемещение каретки к курсору / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]