Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / как запретить скролл в dddw? / 13 сообщений из 13, страница 1 из 1
27.11.2006, 15:53
    #34158231
GriGrim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Покопавшись по форуму нашел ответ, который работает, но только для dw:

Если хотите чтоб колесо мыши НИЧЕГО не делало, мапаете other event, там пишете:
Код: plaintext
1.
2.
3.
4.
5.
6.
// other event 
CONSTANT integer WM_MOUSEWHEEL =  522  

IF message.number = WM_MOUSEWHEEL THEN 
  message.processed = TRUE 
  RETURN  1  
END IF
Ежели только зум обезоруживать, тогда добавить AND KeyDown (KeyControl!) в IF...

Но у меня несколько другая ситуация: есть dw, на нем dddw. Так вот надо запретить прокручивание колесом мыши именно в этом dddw. Не знаю какое событие улавливает это действие.
...
Рейтинг: 0 / 0
27.11.2006, 16:04
    #34158301
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
GriGrimНо у меня несколько другая ситуация: есть dw, на нем dddw. Так вот надо запретить прокручивание колесом мыши именно в этом dddw. Не знаю какое событие улавливает это действие.
Сдается мне, что никакое, ибо во время работы штатного выбора из dddw скрипты не отрабатываются. Отсюда мораль - обработать pbm_dwndropdown и вместо штатного окошка выводить своё.
Кстати, а зачем запрещать прокрутку в dddw?
...
Рейтинг: 0 / 0
27.11.2006, 16:13
    #34158348
AIZ
AIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Если dddw используется не для выбора, а только для отображения, достаточно установить TabOreder в 0
...
Рейтинг: 0 / 0
27.11.2006, 16:20
    #34158373
GriGrim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Запретить прокрутку в dddw хочу вот для чего. В dw у меня есть два dddw, содержимое второго из них фильтруется в зависимости от значения в первом. Если делать просто фильтр, то в случае если в dw несколько строк, тогда в некоторых "вторых" dddw вместо DisplayColumn отображается DataColumn. Чтобы цифры из DataColumn не отображались после фильтра я делаю setfilter("") и filter(). Но, в таком случае, вижу "лишние" строки в dddw. Поэтому используя свойство Lines устанавливаю нужное количество отображаемых строк в dddw, а затем убираю VScrollBar. Остается положиться на порядочность пользователя, что он не будет лишний раз крутить колесо мыши. =) Или как-то по-другому решить проблему с DataColumn вместо DisplayColumn.
...
Рейтинг: 0 / 0
27.11.2006, 16:21
    #34158380
GriGrim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
AIZ, для выбора, в том то и дело.
...
Рейтинг: 0 / 0
27.11.2006, 16:32
    #34158421
GriGrim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
IF dw_detail.dataobject='dw_raspred' THEN
dw_detail.accepttext( )
	datawindowchild ldw_child_special
	int fak_u
	int lns
	GetChild('spec_id', ldw_child_special)
	fak_u=getitemnumber(getrow(), "fak_id")
	if getcolumnname() = "spec_id" and not isnull(fak_u) then
		ldw_child_special.setfilter('fak_id = '+string(fak_u))
		ldw_child_special.filter()
		lns = ldw_child_special.rowcount()
		ldw_child_special.setfilter('')
		ldw_child_special.filter()
		modify("spec_id.dddw.lines="+string(lns))
	end if
END IF
...
Рейтинг: 0 / 0
27.11.2006, 16:50
    #34158481
AIZ
AIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Была такая проблема. Решил следующим образом. DW выполнил в стиле Tabular. В select получил ту колонку, которая отображается в DisplyColumn. Далее, расположил эту колонку поверх dddw, оставив от нее видимой только стрелочку. А далее можно фильтровать Child как угодно.
...
Рейтинг: 0 / 0
27.11.2006, 19:17
    #34158965
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Надо внимательно прочитать статью Advanced DropDownDataWindows
...
Рейтинг: 0 / 0
28.11.2006, 10:52
    #34159913
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
ФилиппНадо внимательно прочитать статью
Т.е. Вы предлагаете воспользоваться undocumented DDDW events?
...
Рейтинг: 0 / 0
28.11.2006, 19:32
    #34162182
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Локшин Марк ФилиппНадо внимательно прочитать статью
Т.е. Вы предлагаете воспользоваться undocumented DDDW events?
documented /undocumented ... Spy++ открой и задокументируй :-))
...
Рейтинг: 0 / 0
28.11.2006, 19:38
    #34162191
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Филиппdocumented /undocumented ... Spy++ открой и задокументируй :-))
По-моему несколько не последовательно говорить за то, чтобы не пользоваться недокументированной функцией getattribute(), но пользоваться недокументированными событиями...
...
Рейтинг: 0 / 0
28.11.2006, 20:05
    #34162245
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Локшин Марк Филиппdocumented /undocumented ... Spy++ открой и задокументируй :-))
По-моему несколько не последовательно говорить за то, чтобы не пользоваться недокументированной функцией getattribute(), но пользоваться недокументированными событиями...
Обыкновенные Windowstm messages слегка отличаются от экспортированной ДЛЛ функции с непонятной signature и меняющимся от релиза к релизу именем...
Да и вообще, я в основном выступал не против недокументированной функцией getattribute(), а против архитектуры приложения, в которой нельзя обойтись без её использования :-)
...
Рейтинг: 0 / 0
29.11.2006, 12:35
    #34163640
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запретить скролл в dddw?
Филиппменяющимся от релиза к релизу именем...
А тут с меняющимся от релиза к релизу кодом (например, судя по всему, куда-то дели собыние с кодом 1349 в other в 10 версии)...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / как запретить скролл в dddw? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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