Куплена такая редкая вещица, как сканер формата A5. И вот, не нашлось подходящей утилиты, чтобы сканировать что-либо и просто писать в jpg или png с минимумом телодвижений. Хотелось только, чтобы пользователь мог задавать часть имени результирующего файла. Поскольку к сканеру прилагался пример работы с ним на VC++, решил заняться самодеятельностью в стиле ретро. Оказывается, под MFC нет нормального способа сделать что-либо, когда диалог отображен и готов реагировать на сообщения. В моем случае нужно было показать результат сканирования и, пока человек начинает соображать, вернуть лампу сканера в исходное положение.
Конечно, вызов можно вставить в OnPaint(), но в этот момент другие контролы еще не нарисованы. Выходов два:
1) сделать таймер с маленькой паузой;
2) послать сообщение типа WM_APP+что-нибудь из диалога самому себе посредством PostMessage.
Где извращенности больше, определить затрудняюсь. Реализован второй вариант, причем сообщение отсылается из того же OnPaint().