Есть MDI форма, у которой всякие child. Есть модальные формы-диалоги которые создают эти самые child, либо child могут создавать других child. И часто child создаются долго, например минуту, соответственно, хочется пока child создается сделать курсор мыши hourglass
При создании из модальной формы - пишу чего-то вроде
Sub CreateChild()
Screen.MousePointer = vbHourGlass
Unload Me (сначала нужно выгрузить модальную форму, поскольку нельзя создавать не-модальные окна из модальных)
MDIForm.СоздатьChild
Screen.MousePointer = vbDefault
End Sub
при этом - модальное окно застывает полуисчезнув (оно исчезло - но не успело прорисоваться поскольку при генерении Child все сильно тормозит), курсор - не hourglass, окно программы Not Responding, и через минуту модальное окно исчезает полностью, и появляется загрузившийся Child.
Если я в Form_Load у Child поставлю тоже самое, Screen.MousePointer=vbHourGlass в начале и =vbDefault в конце - ничего не изменится, все равно часов видно не будет.
Кстати, а как избавиться от эффекта полуисчезнувшей модальной формы? чтобы она при анлоаде все-таки прорисовалась что исчезла.
Далее, если я Child создаю из другого Child, перед вызовом другой-child-frm.show ставлю сделать курсор HourGlass, после - вернуть на Default - нисколько не помогает, часов не видно.
Если ставить курсор HourGlass не у Screen, а у MDIForm - парента, - часы если и показываются то только над ним, а над child-ами не показываются.
Чего подскажете?
Мне тут говорят "значит копай многопоточность и в параллельном потоке делай курсор часами" - как-то это все смутно представляю, с потоками в VB не работал.