Flasher wrote: |
Только 1 и начинается с 1. |
Quote: |
Не понятна реализация. Как формально комбинируется эта псевдопеременная с varset/varget, что и в каком виде она возвращает? |
Quote: |
И ещё вопрос - как получить текст окна? Т.е. необходимо записать имеющийся текст, например, в varset, а потом подставить его с добавкой в settext. Скажем, на примере заголовка панели. Это возможно? |
MVV wrote: |
Ну тогда совсем несложно будет переводить одно в другое. |
MVV wrote: |
Переменная просто возвращает глубину вложенности вызовов макросов/команд. |
Code: |
eval(varset(@lvl, findwnd(TMyComboBox, , , 0, 1)) |
MVV wrote: |
Возврат строк из функций всё ещё не поддерживается. |
Quote: |
А почему именно глубина, а не порядковый номер? Это меня и сбило с толку. Хотелось бы разобрать: |
Quote: |
varset поставляет в переменную значение, полученное findwnd. Но как туда попадает позиция в дереве окон? |
MVV wrote: |
Собственно, после возврата из функции (после подъёма на уровень вверх) её переменные уже не нужны и могут быть переиспользованы. |
MVV wrote: |
А что такое порядковый номер? |
MVV wrote: |
Позиция попадает в findwnd, а varset запоминает уже найденное окно с заданной позицией. |
Quote: |
Какая связь у переиспользования с глубиной? |
Quote: |
Номер элемента окна в порядке следования в дереве. |
Quote: |
Позиция? Туда разве не дескриптор попадает, если верить справке? |
Code: |
/ef "tcm(2032,1) eval(settext_wait(`C:\List.txt`, findwnd(ComboBox,,,0,1)))" |
MVV wrote: | ||
Терпение, мой друг, терпение. |
Flasher wrote: | ||
А с диалогом Открыть что-то можно придумать?:
|
Code: |
TCFS2 /ef "tcm(2032,1) delay(1000) eval(settext_wait(`C:\List.txt`, findwnd(Edit,,findwnd(ComboBox,,findwnd(#32770),0,1))))" |
Flasher wrote: |
Долго терпеть-то? |
Flasher wrote: |
Для чекбоксов и радиокнопок обнова требуется, или силами msg решаемо? |
Flasher wrote: |
+ Есть пожелание: если в findwnd вместо класса пишем A (@,#,$ - не суть), то берётся класс окна на переднем плане. |
Code: |
TCFS2 /ef delay(2000) /ei "settext(findwnd())" |
MVV wrote: |
Здесь у меня сработал такой вариант: |
MVV wrote: |
Также не совсем понимаю, почему сам комбобокс игнорирует сообщение WM_SETTEXT. |
MVV wrote: |
постараюсь на днях сделать. |
MVV wrote: |
Какая обнова? |
MVV wrote: |
хотя лучше наверное флаг завести для пропуска невидимых окон |
Quote: |
А это может быть связано с тем, что это системное окно, а не ТС? |
Quote: |
Нововведение. |
Quote: |
Лучше их в автоматический игнор ставить. |
MVV wrote: |
Если слать сообщение верхнему ComboBoxEx32, то работает. А если среднему ComboBox - нет. |
MVV wrote: |
Которое из? |
MVV wrote: |
Я могу захотеть найти скрытый чекбокс и включить его. |
Quote: |
Так у тебя же в команде как раз средний. Да и всё равно без задержки никак. И на x64 системе/ТС класс тот же? |
Quote: |
Обновление с двумя нововведениями (отметкой чекбокса и радиокнопки). |
Code: |
TCFS2 /ef delay(2000) /ei "settext(`focus: ` msg($433, 65557))" |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours