powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Window Scroll
11 сообщений из 11, страница 1 из 1
Window Scroll
    #36827836
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как узнать на сколько пикселей сдвинуто "внутреннее" окно в горизонтали?
как сдвинуть "внутреннее" окно на то же количество пикселей?

спасибо.
...
Рейтинг: 0 / 0
Window Scroll
    #36827871
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Узурпатор,

Может начать с указания среды разработки и определения термина "внутреннее окно"?
...
Рейтинг: 0 / 0
Window Scroll
    #36827944
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProУзурпатор,

Может начать с указания среды разработки и определения термина "внутреннее окно"?

среда VBA-совместимая - у окна есть возможность скролла, скроллбары какие-то там. хочу перехватить значения сдвига ШИРОКОГО окна и узнать на сколько пикселей оно сдвинуто скроллбарами, хочу сдвинуть окно как мне надо после операций.

внутреннее окно в смысле скролленья означает отображаемую часть широкого окна.
...
Рейтинг: 0 / 0
Window Scroll
    #36828038
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Узурпатор,

Если я правильно понял, под "внутренним окном" имеется ввиду окно документа, то бишь ThisDocument.Windows(n)
...
Рейтинг: 0 / 0
Window Scroll
    #36828089
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProУзурпатор,

Если я правильно понял, под "внутренним окном" имеется ввиду окно документа, то бишь ThisDocument.Windows(n)нет, на уровне апи устройства окна я ж говорю есть окно , есть сколлбары, сдвигаешь окно скроллбаром получаешь сдвинутую внутреннюю часть окна.
...
Рейтинг: 0 / 0
Window Scroll
    #36828117
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к примеру в Экселе ставлю фокус на ячейку но хочу ещё и спозиционировать скроллбары через апишки.
...
Рейтинг: 0 / 0
Window Scroll
    #36828138
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Узурпаторк примеру в Экселе ставлю фокус на ячейку но хочу ещё и спозиционировать скроллбары через апишки.
Обязательно ли через апи? у окна есть всяческие методы и свойства, связанные со скроллом. Например .ScrollIntoView
...
Рейтинг: 0 / 0
Window Scroll
    #36828149
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProУзурпаторк примеру в Экселе ставлю фокус на ячейку но хочу ещё и спозиционировать скроллбары через апишки.
Обязательно ли через апи? у окна есть всяческие методы и свойства, связанные со скроллом. Например .ScrollIntoViewугу. именно через АПИ потому как там где делаю там такого свойства у окна нет :( Но такое свойство обязано быть на уровне АПИ . гуглю потихоньку .
...
Рейтинг: 0 / 0
Window Scroll
    #36828211
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Узурпатор
> угу. именно через АПИ потому как там где делаю там такого свойства у окна нет :( Но такое свойство обязано быть
> на уровне АПИ . гуглю потихоньку .

посылай hWnd сообщение WM_SCROLL

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Window Scroll
    #36828250
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: Узурпатор
> угу. именно через АПИ потому как там где делаю там такого свойства у окна нет :( Но такое свойство обязано быть
> на уровне АПИ . гуглю потихоньку .

посылай hWnd сообщение WM_SCROLL

угу. спасибо.

сейчас вот это копаю - окно пока не нашёл даже для того чтоб узнать на сколько сдвинуто, скроллбары отдельными окнами работают.

Option Compare Database

' Scroll bar:
Private Type SCROLLINFO
cbSize As Long
fMask As Long
nMin As Long
nMax As Long
nPage As Long
nPos As Long
nTrackPos As Long
End Type

Private Declare Function SetScrollInfo Lib "user32" (ByVal hwnd As Long, ByVal _
n As Long, lpcScrollInfo As SCROLLINFO, ByVal BOOL As Boolean) As Long
Private Declare Function GetScrollInfo Lib "user32" (ByVal hwnd As Long, ByVal _
n As Long, LPSCROLLINFO As SCROLLINFO) As Long
Private Declare Function GetScrollPos Lib "user32" (ByVal hwnd As Long, ByVal _
nBar As Long) As Long
Private Declare Function GetScrollRange Lib "user32" (ByVal hwnd As Long, ByVal _
nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long
Private Declare Function SetScrollPos Lib "user32" (ByVal hwnd As Long, ByVal _
nBar As Long, ByVal nPos As Long, ByVal bRedraw As Long) As Long
Private Declare Function SetScrollRange Lib "user32" (ByVal hwnd As Long, ByVal _
nBar As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal bRedraw As _
Long) As Long
Private Const SB_BOTH = 3
Private Const SB_BOTTOM = 7
Private Const SB_CTL = 2
Private Const SB_ENDSCROLL = 8
Private Const SB_HORZ = 0
Private Const SB_LEFT = 6
Private Const SB_LINEDOWN = 1
Private Const SB_LINELEFT = 0
Private Const SB_LINERIGHT = 1
Private Const SB_LINEUP = 0
Private Const SB_PAGEDOWN = 3
Private Const SB_PAGELEFT = 2
Private Const SB_PAGERIGHT = 3
Private Const SB_PAGEUP = 2
Private Const SB_RIGHT = 7
Private Const SB_THUMBPOSITION = 4
Private Const SB_THUMBTRACK = 5
Private Const SB_TOP = 6
Private Const SB_VERT = 1

Private Const SIF_RANGE = &H1
Private Const SIF_PAGE = &H2
Private Const SIF_POS = &H4
Private Const SIF_DISABLENOSCROLL = &H8
Private Const SIF_TRACKPOS = &H10
Private Const SIF_ALL = (SIF_RANGE Or SIF_PAGE Or SIF_POS Or SIF_TRACKPOS)

Private Const ESB_DISABLE_BOTH = &H3
Private Const ESB_ENABLE_BOTH = &H0

Private Declare Function EnableScrollBar Lib "user32" (ByVal hwnd As Long, _
ByVal wSBflags As Long, ByVal wArrows As Long) As Long
Private Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal _
wBar As Long, ByVal bShow As Long) As Long


Private Const WM_VSCROLL = &H115
Private Const WM_HSCROLL = &H114





Sub testhorz(hwnd As Long)
Dim tSi As SCROLLINFO
With tSi
.cbSize = Len(si)
.fMask = SIF_TRACKPOS
End With

GetScrollInfo hwnd, SB_HORZ, tSi

MsgBox tSi.nTrackPos

End Sub
...
Рейтинг: 0 / 0
Window Scroll
    #36828399
Фотография Узурпатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim sInfo As SCROLLINFO
    
    sInfo.fMask = SIF_ALL
    sInfo.cbSize = Len(sInfo)
    sInfo.nPos =  0 
    sInfo.nTrackPos =  0 
    
    msgbox GetScrollInfo(hWndSB, SB_CTL, sInfo)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Window Scroll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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