Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / scrollbar в datawindow / 12 сообщений из 12, страница 1 из 1
17.10.2008, 14:41
    #35601096
SasaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Как прграммно определить в событии mousemove, что курсор мыши проходит над полосками прокрутки ? Как вариант - решение с вычислением её предполагаемой ширины... - но как тогда определить её наличие в данный момент при "живом" скролле ?
Столкнулся с тем, что - если извне заходить в датавиндов - mousmove начинается после прохождения скроллбара, если выходить изнутри - то mousmove заканчивается после прохождения скроллбара
...
Рейтинг: 0 / 0
17.10.2008, 18:17
    #35601737
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
SasaRКак прграммно определить в событии mousemove, что курсор мыши проходит над полосками прокрутки ? Как вариант - решение с вычислением её предполагаемой ширины... - но как тогда определить её наличие в данный момент при "живом" скролле ?
Столкнулся с тем, что - если извне заходить в датавиндов - mousmove начинается после прохождения скроллбара, если выходить изнутри - то mousmove заканчивается после прохождения скроллбара
А зачем?
...
Рейтинг: 0 / 0
20.10.2008, 12:07
    #35603901
SasaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Для корректного определения MouseLeave использую апишные SetCapture/ReleaseCapture. Так при SetCapture - если в датавиндов появился скроллбар им не удается "воспользоваться" указателем "изнутри"- т.е. мышь захвачена датавиндовом вплоть до выхода мыши за границы датавиндов. Зато снаружи - пожалуйста мышь "захватывается ПОСЛЕ её прохождения над скроллбаром.
Можно конечно запретить скроллбары - но это не выход - как тогда добираться до элементов, что не видны ? Определить "свои" два скроллбара ?

П,С. - это я пробую тягать мышью элементы датавиндов.
...
Рейтинг: 0 / 0
20.10.2008, 12:45
    #35604013
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Так для этого по-моему row/column важнеее если конечно что-то графическое не рисуется
А так скорее всего через pbm_over можно отловить, только муторно это
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
20.10.2008, 12:49
    #35604030
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
SasaRП,С. - это я пробую тягать мышью элементы датавиндов.А все-таки, что сделать-то надо?
...
Рейтинг: 0 / 0
20.10.2008, 12:58
    #35604056
SasaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Пробую писать редактор схем - в общем смысле - редактор графических примитивов.
Без SetCapture/ReleaseCapture - дебильное поведение в случае выхода мыши за границы с зажатым мышью и двигаемым элементом.
С SetCapture/ReleaseCapture - все зашибись, до тех пор, пока не появляется скроллбары у датавиндова, как я писал выше не удается воспользоваться скроллбаром, т.к. датавиндов в режиме SetCapture.
П.С. - pbm_over - вроде нет такого ID.. возможно вы имели ввиду нечто другое ?
...
Рейтинг: 0 / 0
20.10.2008, 13:01
    #35604069
SasaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Блин... Апишные
GetCursorPos -> WindowFromPoint -> getclassname - также не ловят "окно" скроллбара
...
Рейтинг: 0 / 0
20.10.2008, 13:06
    #35604090
Dmitry..
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
ф-я GetClientRect
http://msdn.microsoft.com/en-us/library/ms633503(VS.85).aspx
возвращает размер только клиентской части датавиндов (исключая скроллбары и бордеры)
...
Рейтинг: 0 / 0
20.10.2008, 13:20
    #35604128
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Возможно следует использовать не DataWindow, а UserObject'ы для этих целей (все зависит от количества примитивов). Если не много - то IMHO UserObject'ы самое то.
...
Рейтинг: 0 / 0
20.10.2008, 13:33
    #35604169
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Sorry, очепятался
pbm_other
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
20.10.2008, 13:39
    #35604191
SasaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
GetClientRect - это оно !
Спасибо ! :)
...
Рейтинг: 0 / 0
20.10.2008, 13:39
    #35604192
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scrollbar в datawindow
Может разделить dw? Сплит сделать? Интересно как в таком случае все это будет работать
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / scrollbar в datawindow / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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