Отправляет email-рассылки с помощью сервиса Sendsay

Screen reader JAWS for Windows Russian

[JFWRus] цикл while

здравствуйте уважаемые подписчики.
из письма Руслана Усачева.

спасибо Руслан как всегда ваш пример работает. подскажите пажалуста как можно
иначе получить доступ к элементам комбо-списка в данном случае . ниже информация:
Note Capture

Handle = 5964416 = {5b0280}
Class = ComboBox
Type = Combo box
TypeCode = 2
SubtypeCode = 2
ControlID = 0
StyleBits = 0x56000413
WindowName = Translate from
HotKey =
Parent = 7144078 = {6d028e}
FirstChild = 0 = {0}
Prior = 0 = {0}
Next = 0 = {0}
WindowHierarchyX = 1
WindowHierarchyY = 5
WindowRect = (202,115)-(377,138)
controlAttributes = 0
HasTitle = 0
WindowDisabled = 0
WindowObscured = 0
WindowVisible = 1
Highlighted text:
russian
All Text Restricted:
graphic 548 russian graphic 152
All Text Inclusive:
graphic 548 russian graphic 152
****************************************
с уважением Леонид.

***
Это сообщение No 8882
было разослано для 511 участников дискуссионного листа
[JFWRus] цикл while

Ответить   Wed, 23 Sep 2009 09:18:47 +0300 (#908716)

 

Ответы:

Доброго времени суток, Леонид.

Из сообщения от 23.09.2009 10:04:

Попробуйте с помощью MSAA.
Нижеприведенный код полагается на то,
что комбосписок уже развернут,
и содержит фокус.
После его завершения искомый элемент списка становится текущим.
Остальное зависит от контекста задачи
и, собственно, к теме вопроса не имеет отношения.

Include "msaaconst.jsh"
; ...
Const
SearchString="russian"
; ...
Var
Object CmbList,
Int CmbChild,
Int i
; ...
Let CmbList= GetFocusObject (CmbChild)
Let i = 0
While i < CmbList.accChildCount
Let i = i + 1
If CmbList.accName(i) == SearchString Then
CmbList.accSelect (SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION, i)
Let i = CmbList.accChildCount
EndIf
EndWhile

С уважением, Руслан Усачев

***
Это сообщение No 8884
было разослано для 511 участников дискуссионного листа
[JFWRus] Re: цикл while

Ответить   Wed, 23 Sep 2009 13:33:01 +0300 (#909049)

 

Здравствуйте,

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

И ещё - в режиме ХоумРоу, нажмите Контроль+Альт+Ф9 и приведите в своём ответе
текст из виртуального просмотрщика.

До свидания.

***
Это сообщение No 8888
было разослано для 511 участников дискуссионного листа
[JFWRus] Re: цикл while

Ответить   Wed, 23 Sep 2009 11:37:56 +0400 (#909074)