Перейти к содержимому

Фотография

Проблемы с .Select на PageList


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Nana

Nana

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Настя
  • Город:Днепропетровск

Отправлено 17 июля 2009 - 07:39

У меня на окне есть PageList, на нем ComboBox, который не видно (есть вертикальный скролл).
Когда я вызваю метод Window.PageList.ComboBox.Select(), оно пытается проскролать окно, а не пейджлист и появляется exception - Window can't be scrolled into view.
Toжe самое исключение получаю, если использую метод ScrollIntoView()

Как можно решить проблему?
  • 0

#2 vass

vass

    Опытный участник

  • Members
  • PipPipPipPip
  • 298 сообщений
  • ФИО:Василий

Отправлено 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

  • 0

#3 Nana

Nana

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Настя
  • Город:Днепропетровск

Отправлено 20 июля 2009 - 07:21

Я не знаю до каких пор скролить вниз(на 1 страницу, на 2 и т.д. или до конца)
  • 0

#4 vass

vass

    Опытный участник

  • Members
  • PipPipPipPip
  • 298 сообщений
  • ФИО:Василий

Отправлено 22 июля 2009 - 13:06

а ты перед каждым скроллом проверяй у контрола, что SomeCtrl.Rect.yPos меньше чем высота пейджи (pageXYZ.Rect.ySize) ;)
если больше, чем высота, значит - надо скроллить...
(то же самое для пары SomeCtrl.Rect.xPos и pageXYZ.Rect.xSize)
  • 0

#5 Nana

Nana

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Настя
  • Город:Днепропетровск

Отправлено 23 июля 2009 - 07:18

а ты перед каждым скроллом проверяй у контрола, что SomeCtrl.Rect.yPos меньше чем высота пейджи (pageXYZ.Rect.ySize) ;)
если больше, чем высота, значит - надо скроллить...
(то же самое для пары SomeCtrl.Rect.xPos и pageXYZ.Rect.xSize)


Спасибо, я уже так и сделала))
  • 0

#6 Int_21h

Int_21h

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Александр

Отправлено 17 октября 2011 - 10:58

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

Agent.SetOption (OPT_VERIFY_COORD, FALSE)

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных