2 spike
Ну и что, что функция выполняется, она выполняется в своем подпотоке, а приложение в любом случае ждет сообщений от системы. Я например через onIdle люблю часы с секундами делать в статусбаре

Правда стоит только начать менять размер формы и часы не тикают, но когда ничего с точки зрения WM_ не происходит тикает. Даже если программа в этот момент что-нибудь делает сама, не генерируя сообщений, например выполняется несколько SQL запросов с выгрузкой данных в таблицы и пр.