D>Другой способ. В DoModal выполняется CWnd::RunModalLoop — он выбирает сообщения из очереди, а паренту посылает WM_ENTERIDLE, WM_KICKIDLE и тд. Тебе нужно это заменить. Переписывая DoModal, PreModal,PostModal — они виртуальные. Нужно будет кучу проверок делать. Но это несколько неудобный способ. Все из-за того, что DoModal должен ожидать результата.