У меня есть приложение MFC document/view C++, которое делает весь его чертеж на растровое изображение вне экрана, а затем копирует его в поставляемый указатель CDC в методе OnDraw. За последние пару дней я пытался разместить компонент чертежа в отдельном рабочем потоке, поэтому он не останавливает графический интерфейс. Я, кажется, чтобы получить справедливое число MFC GDI связанные утверждает, стреляя, когда я делаю это, е, г,Тип темы для рисования фона в растровое изображение в MFC
VERIFY(::MoveToEx(m_hAttribDC, x, y, &point)
Так несколько вопросов;
- Есть ли проблемы с использованием рабочих потоков с MFC & GDI?
- Существуют ли проблемы с использованием объектов MFC GDI через потоки?
- Нужны ли объекты GDI локально для потока?
Хотя возможно этот вопрос ресурсов/блокировки связаны между собой, рисунок нить имеет свой собственный provate CDC и CBitmap, что он использует для всех на чертеже, и только копирует растровое изображение обратно в основной поток, когда он hasz excludive доступ через мьютекс. Код также был протестирован с помощью прямого вызова, а не как отдельный поток, чтобы доказать, что проблема связана с потоковой обработкой.
Спасибо за ссылки, второй в контекстах устройств отсортировал мой вопрос, выбор и освобождение DC в разных потоках недопустим. –