Бих искал да открия кога е създаден нов формуляр.
Сега използвам събитието Screen.ActiveFormChange
и проверявам за нови формуляри в Screen.CustomForms
, но ActiveFormChange
се задейства след събитието OnShow
на формуляра.
Бих искал да открия формата още преди OnShow
да бъде уволнен. Има ли някакъв начин да направите това, без да модифицирате единицата Vcl.Forms
?
Бих искал да открия всички форми (също модални съобщения на Delphi и т.н.), следователно наследяването на всички форми от потребителски клас не е възможно (поправете ме, ако греша).
Като алтернатива, възможно ли е да се открие, че нов компонент е добавен към някакъв списък TComponent.FComponents
?
TThemeManager
на Майк Лишке използва серия от техники за откриване на нови форми в програмата. (Трябваше да знае за нови форми, за да може да инструментира рутинните процедури за рисуване на своите компоненти и да приложи XP теми.) Може да си струва да проверите този код, за да видите как се прави. - person Rob Kennedy   schedule 20.07.2012