Вверх ↑
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
#1: 2010-01-16 21:04:38 ЛС | профиль | цитата
Предлагаю добавить (или создать новый элемент) в элемент WinEnum функцию перебора дочерних окон в заданной форме по хэндлу (если это возможно) так как эта функция будет полезна в случае если на форме имеется 2 и более элемента одного класса и имеют одинаковые надписи а найти нужно окно которое идёт например 2, 9 и тд. в очереди окон...
карма: 1
0
Ответов: 5446
Рейтинг: 323
#2: 2010-01-16 21:32:28 ЛС | профиль | цитата
Add(FindWindow,10646740,378,140)
{
Point(ChildHandle)
}
карма: 1

0
Ответов: 1841
Рейтинг: 369
#3: 2010-01-16 21:55:27 ЛС | профиль | цитата
CriDos писал(а):
функцию перебора

всех имеющихся окон в форме
--------------------------------------------------
Пример:
Как найти хэндл второй по очереди кнопки если у них одинаковые классы и надписи?
code_16535.txt
карма: 1
0
файлы: 1code_16535.txt [945B] [376]
Разработчик
Ответов: 26170
Рейтинг: 2127
#4: 2010-01-16 22:00:45 ЛС | профиль | цитата
CriDos писал(а):
Как найти хэндл второй по очереди кнопки если у них одинаковые классы и надписи?

Гы. Тут никакой перебор не поможет, тут надо знать точный Z-ордер окон, а вот как его получить...
карма: 22

0
Ответов: 1841
Рейтинг: 369
#5: 2010-01-16 22:53:56 ЛС | профиль | цитата
Есть такая программа "InqSoft Window Scanner", у этой программы есть функция "Дерево окон" и в этом дереве показываются все формы и все дочерние формы у этих форм.
Дочерние формы как я заметил местоположения в дереве не меняют и получается их можно при переборе выбрать по номеру события до нужного окна...
карма: 1
0
Ответов: 1376
Рейтинг: 197
#6: 2010-01-16 23:13:20 ЛС | профиль | цитата
Вот так попробуй
code_16538.txt
------------ Дoбавленo в 23.33:
Так лучше

Add(MainForm,10895288,406,196)
{
Width=377
Height=232
Caption="Пример"
Position=1
Point(Handle)
}
Add(Button,7662496,308,252)
{
Left=110
Top=25
Width=115
Height=30
Caption="Получить хэндл!"
link(onClick,14867070:doEvent1,[(352,258)(352,251)])
}
Add(Button,16257914,527,407)
{
Left=185
Top=140
Width=115
Height=40
Caption="button"
}
Add(Button,11483298,346,400)
{
Left=20
Top=140
Width=115
Height=40
Caption="button"
}
Add(Label,14341250,350,189)
{
Left=150
Top=115
Width=184
Height=17
Caption="хэндл вот этой кнопки нужно найти"
}
Add(InfoTip,9084701,427,371)
{
Info=#33:хэндл вот этой кнопки нужно найти|
Width=232
Height=109
}
Add(FindWindow,727026,406,252)
{
Caption="button"
SkipParam=2
Point(ChildHandle)
link(onFind,13864350:doCompare,[(457,258)(457,265)])
link(ParentHandle,10895288:Handle,[])
link(ChildHandle,727026:Handle,[(433,240)(445,240)(445,295)(412,295)])
}
Add(Hub,8136848,532,252)
{
link(onEvent1,11046874:doAdd,[])
link(onEvent2,6106636:doWork3,[(558,265)(558,311)(398,311)])
}
Add(HubEx,6106636,394,259)
{
link(onEvent,727026:doFindChild,[])
}
Add(ListBox,11046874,595,252)
{
Left=240
Top=5
Width=125
}
Add(Hub,14867070,364,245)
{
link(onEvent1,11046874:doClear,[(574,251)(574,265)])
link(onEvent2,6106636:doWork1,[(388,258)(388,256)(398,256)])
}
Add(If_else,13864350,476,259)
{
Type=5
Op2=Integer(0)
link(onTrue,8136848:doEvent1,[(520,265)(520,258)])
}
карма: 1

2
файлы: 1code_16538.txt [1.3KB] [383]
Голосовали:CriDos, Konst
Ответов: 1841
Рейтинг: 369
#7: 2010-01-16 23:35:41 ЛС | профиль | цитата
КЛАСС!!!
карма: 1
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#8: 2010-01-17 00:28:16 ЛС | профиль | цитата
Ну вот, и компоненты править не надо.
карма: 22

0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)