Проблемы с .Select на PageList
Автор Nana, 17 июл 2009 07:39
Сообщений в теме: 5
#1
Отправлено 17 июля 2009 - 07:39
У меня на окне есть PageList, на нем ComboBox, который не видно (есть вертикальный скролл).
Когда я вызваю метод Window.PageList.ComboBox.Select(), оно пытается проскролать окно, а не пейджлист и появляется exception - Window can't be scrolled into view.
Toжe самое исключение получаю, если использую метод ScrollIntoView()
Как можно решить проблему?
Когда я вызваю метод Window.PageList.ComboBox.Select(), оно пытается проскролать окно, а не пейджлист и появляется exception - Window can't be scrolled into view.
Toжe самое исключение получаю, если использую метод ScrollIntoView()
Как можно решить проблему?
#2
Отправлено 17 июля 2009 - 16:42
как вариант - скроллить пейджу ;)
например вот так :
например вот так :
HWND hW = Window.PageList.hWnd //а потом вот это можно делать несколько раз : SendMessage (hW, WM_VSCROLL, 3, 0) // page down SendMessage (hW, WM_HSCROLL, 3, 0) // page right
#3
Отправлено 20 июля 2009 - 07:21
Я не знаю до каких пор скролить вниз(на 1 страницу, на 2 и т.д. или до конца)
#4
Отправлено 22 июля 2009 - 13:06
а ты перед каждым скроллом проверяй у контрола, что SomeCtrl.Rect.yPos меньше чем высота пейджи (pageXYZ.Rect.ySize) ;)
если больше, чем высота, значит - надо скроллить...
(то же самое для пары SomeCtrl.Rect.xPos и pageXYZ.Rect.xSize)
если больше, чем высота, значит - надо скроллить...
(то же самое для пары SomeCtrl.Rect.xPos и pageXYZ.Rect.xSize)
#5
Отправлено 23 июля 2009 - 07:18
а ты перед каждым скроллом проверяй у контрола, что SomeCtrl.Rect.yPos меньше чем высота пейджи (pageXYZ.Rect.ySize) ;)
если больше, чем высота, значит - надо скроллить...
(то же самое для пары SomeCtrl.Rect.xPos и pageXYZ.Rect.xSize)
Спасибо, я уже так и сделала))
#6
Отправлено 17 октября 2011 - 10:58
Есть вариант отключить проверку агента для этого кейса, потом опять поставить как было.
Agent.SetOption (OPT_VERIFY_COORD, FALSE)
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных