![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
порядок нахождения
AlexeyShestchenko © (2008-02-14 21:41:00)Перебыираю все компоненты на чужой форме и если там есть edit то добавляю в него текст. но тут создал для теста форму с 10 эдитами и обнаружил что перебираться эдиты начинаются с последнего и соответстввенно добавляться начинают с последнего и по убывающей что не верно в моем случае, как сделать чтобы перебор был с конца или как решить мой вопрос?
буду благодарен за ответы.
Забыл сказать что использую
EnumChildWindows
proc
GetClassName
ketmar (2008-02-14 22:09:00) [21]>[3] AlexeyShestchenko (2008-02-14 21:58:00)
это что за класс такой — TEdit? O_o
---
Understanding is not required. Only obedience.
Leonid Troyanovsky (2008-02-14 22:08:00) [22]
> AlexeyShestchenko (14.02.08 21:58) [3]
> Вот код, предложите другие "более достоверный метод идентификации.
Мы не увидели идентификации, зависящей от z-order.
И что за try-except.
--
Regards, LVT.
AlexeyShestchenko (2008-02-14 21:58:00) [23]Вот код, предложите другие "более достоверный метод идентификации."
Спасибо за ответы.
function proc(wnd:hWnd):boolean;stdcall;
var wndClass:array[0..255] of char;
begin
Result:=True;
GetClassName(wnd, wndClass, sizeof(wndClass));
if wndClass='TEdit' then
begin
if i = list1.Count then
Exit;
try
SendMessage(wnd,WM_SETTEXT,0,LParam(PAnsiChar(list1.Strings[i])));
inc(i);
except
end;
end;
Leonid Troyanovsky (2008-02-14 21:51:00) [24]
> AlexeyShestchenko (14.02.08 21:41)
> с последнего и соответстввенно добавляться начинают с последнего
> и по убывающей что не верно в моем случае,
Вне зависимости от представлений о верности
контролы перебираются в соответствии с их z-order.
Хотя, и на это я бы не закладывался, а выбрал бы
более достоверный метод идентификации.
--
Regards, LVT.
ketmar (2008-02-14 21:48:00) [25]натурально, в 17-й строке ошибка.
зыж как вы достали…
---
Understanding is not required. Only obedience.