Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
WORD и WinApi, перемещение каретки к курсору
|
|||
|---|---|---|---|
|
#18+
Подскажите, как в 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 23:03 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=366&tid=2186322]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 155ms |

| 0 / 0 |
