| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Найти динамически созданое окно |
| Автор: LordVanBoom 24.12.2006, 18:53 | ||
Имеется список элементов в виде дерева, на каждый элемент списка создается окно.
Как мне потом его найти? Если можно, то |
| Автор: Romkin 24.12.2006, 19:09 | ||
| Ужасно. 1. Как я понял, m - динамический массив? Он не нужен. 2. Приращение длины массива на 1 постоянно - очень хороший расход памяти, зачем? Если очень хочется, есть TObjectList. 3. Поскольку ты создаешь форму, назначая ей владельцем Application - она есть в списке Application.Components. 4. Есть типовой вызов создания формы, Application.CreateForm. По возможности используй его. Код для поиска примерно такой:
P.S. i здесь никакой связи с твоим не имеет ;) |
| Автор: LordVanBoom 24.12.2006, 20:58 | ||||||
Предложи лучше
Поподробнее плиз...
Ругается "Missing operator or semicolon" |
| Автор: Sunvas 25.12.2006, 15:05 |
| Romkin, искать окна по заголовку, это чревато.. Лучше использовать свойство tag или еще использовать массив из хэндлов окон |
| Автор: LordVanBoom 25.12.2006, 15:39 | ||||||
Забей, тут и я ступил, все поправил - работает, спасибо.
А тут поподробнее если можно?! Это мне получается при каждом создании динамической формы прописывать ее "номер" в tag, а потом уже не по заголовку искать а по tag? Добавлено @ 15:44
И помойму тут великого расхода памяти не намечается, у меня перед созданием формы проверяется существует ли она. А элементов в списке не так уж и много, штук 10-20. |
| Автор: Snowy 25.12.2006, 15:46 | ||
|
| Автор: LordVanBoom 25.12.2006, 15:50 |
| Snowy, это получается для вех окон твоего приложение перебор идет или для тех которые в текущее время открыты? |
| Автор: Snowy 25.12.2006, 15:51 | ||
| А список и нафиг не нужен. Добавлено @ 15:51
И это явно быстрее, чем перебирать вообще все контролы Добавлено @ 15:53 В смысле, перебирая через список компонент, ты перебираешь все формы, кнопочки, лабелы и т.д. А их может быть вагоны. Зачем? Есть же список форм - его и перебирать |
| Автор: LordVanBoom 25.12.2006, 16:15 |
| Хм, пусть немного не по правилам форума, но один вопросик я задам. Как мне форму развернуть если она свернута? |
| Автор: Snowy 25.12.2006, 16:36 |
| Свёрнута как? Вместе с приложением? Скрыта? Свёрнута брусочком внизу экрана? Form.WindowState := wsNormal; ? |
| Автор: LordVanBoom 26.12.2006, 15:35 | ||
|
| Автор: Snowy 26.12.2006, 15:38 |
| Автор: LordVanBoom 26.12.2006, 20:47 | ||
| О! Пасиба! Сделал вобщем так, кто что найдет лишнего - отпишитесь если вмочь
Всем спасибо! |