У меня есть набор форм, которые визуализируются как дочерние элементы вкладки MDI основной формы (через Infragistics UltraTabbedMDIManager, но этот API не так важен)
Я использую GetDC (), CreateCompatibleDC (), CreateCompatibleBitmap (), SelectObject (), BitBlt () .., чтобы перенести растровое изображение контекстов устройства этих форм в некоторую память. Это работает, но только для активной дочерней формы MDI, которая видна пользователю. Если я сделаю это для неактивных форм (любых вкладок, которые в данный момент не отображаются), я получаю черный экран в области памяти или даже получаю «копию» экрана, расположенного над ним. Если я сделаю это для форм, которые больше не видны, у меня также будет черный экран.
Что мне делать, чтобы получить растровое изображение этих скрытых форм? Придется ли мне прибегать к кешированию или есть еще какие-то уловки? Я не могу использовать функцию Winforms DrawToBitmap (), потому что формы содержат некоторые низкоуровневые графические элементы, которые нельзя получить с их помощью. Как я могу использовать winapi для получения растрового изображения DC этих "скрытых" форм?