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

Screen reader JAWS for Windows Russian

[JFWRus] Опять Total

Приветствую Вас, благородные читатели!
Вот решил подкинуть Вам для разнообразия изменения в скриптах столь
горячо любимого всеми total Commander6.x.
1. Для определения признака выделения объекта в скриптах (с рамочным курсором)
используется следующая конструкция:
if filecolor != GetColorName (GetColorText ()) then
if GetColorName (GetColorText ()) == "red" then
saystring ("checked")
else
saystring ("not checked")
endif
let filecolor = GetColorName (GetColorText ())
Её можно несколько упростить, используя взаимодействие с объектами.
В глобальных переменных переопределим FileColor на int
и воспользуемся функцией GetObjectState (True)
Тогда алгоритм примет вид:
let CurColor = GetColorText ();текущий цвет
if FileColor != Curcolor then;сравнение предыдущего и текущего цветов
SayMessage (OT_Message, GetObjectState (True));скажет "выделено"
endif
let FileColor = Curcolor
Плюсы:
- меньшее число вызываемых функций;
- нет надобности в файле color.ini;
Это вариант для NewtextEvent (), однако надо внести ихменения и в клавишную
функцию:
let FileColor = GetColorText ()
SayMessage (OT_Message, GetObjectState (True))
2. Теперь о чтении информации об объекте и размера выделения.
В общем случае бегаем каждый раз курсором по экрану и читаем, если попадём!
Упростим это действие следующим образом:
- в секции globals введём две переменные типа handle hleftsp и hrightsp.
В функцию autostartevent ()добавим следующие строки:.
let hleftsp = GetNextWindow (FindWindow (GetCurrentWindow (), "TmyComboBox"))
;рукоятка левой статусной панели
InvisibleCursor ()
MoveToWindow (hleftsp)
JAWSEnd ()
let hrightsp = GetCurrentWindow ();рукоятка правой статусной панели
Теперь
if Panel () then;определение какая панель
let st = GetWindowText (hrightsp, 0)
else
let st = GetWindowText (hleftsp, 0)
endif
В глобальной переменной st имеем требуемую информацию для дальнейшей обработки.
3. Выше приведённое конечно, требует некоторой общей корректуры скрипта.
4. Есть и другие возможности оптимизации за счёт уменьшения числа вызовов функций.
Можно, конечно, и ничего не менять, но это скучно!
опробовано на версии 7.10.417.

С уважением, Леонид Жилин г. красноярск
mailto:kozerog***@m*****.ru

***
Это сообщение No4801
было разослано для 328 участников дискуссионного листа
[JFWRus] Опять Total

Ответить   Leonid Jilin Sun, 29 Oct 2006 08:17:11 +0700 (#604805)