Форум — Ответы     (  К темам )
 ?  Alexander: creation order (10-04-2003 14:17:37)
Господа, есть проблема с созданием формы. На форме лежат компоненты — кнопки TSpeedButton с изображениями на них (Glyph). Они используются как шаблоны для создания нескольких динамических кнопок, чтобы Glyph не грузить руками, а жил бы в ресурсах. Так вот в какой момент наконец эти долбаные статические кнопки будут созданы ? Например, в конструкторе формы — еще вроде нет, при OnCreate — тоже нет. Подскажите, кто занимается динамическим созданием компонентов.
 Petro (10-04-2003 15:24:10)
А в OnShow тоже нет? 8)
 Георгий (10-04-2003 19:20:45)
Я в OnActivate пишу:
static z=true;
if (z)
{
z=false;
//кнопки точно созданы
}
 Alexander (11-04-2003 14:47:16)
В OnShow тоже нет :)
А OnActivate может случиться неоднократно, конечно можно проверять, уже создал или еще не очень :)
Но в общем, проблема тут к сожалению видимо не в этом.
Я, как уже раньше писал, делаю типа вложенный MDI — а именно, внутренние, дочерние окна (скажем, Form2) внутри себя содержат формы, у которых Parent = Form2. Поэтому у них бааальшие проблемы с созданием компонентов.
В частности, конструктор такой формы зацикливался (!) — он вызывал TForm(Owner), который перекидывал обратно на начало вызова TForm2(Owner) и т.д.
Подстановка в TForm(Owner, 0) — помогла :)
Вот так я и прыгаю с бубном вокруг этих окон :)
Но с кнопками так и не получается. То есть чисто созданный динамический компонент работает. Статический — нет.
И еще, у них статически добавленные обработчики событий не вызываются :))