Каково правильное место / время для начала создания подкласса элемента управления?
Сколько времени восстанавливать исходный процесс окна?
Прямо сейчас я подкласс во время формы создание :
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldPanel1WindowProc := Panel1.WindowProc;
Panel1.WindowProc := Panel1WindowProc;
end;
и я восстанавливаю подклассы во время формы уничтожения :
procedure TForm1.FormDestroy(Sender: TObject);
begin
Panel1.WindowProc := FOldPanel1WindowProc;
end;
Это прекрасно работает, пока я не использую ThemeManager , который подклассами управляет сам. Как только я пытаюсь создать подкласс для элемента управления, который ThemeManager также подклассов, я получаю очень неприятные ошибки.
Я предполагаю, что это потому, что я не должен запускать подкласс во время Создать и восстановить его во время Уничтожить . Итак, каково надлежащим образом документированное время для подкласса и отмены подкласса элемента управления в Delphi?