Рисование в отдельном потоке
В теме разбираюсь не очень, потому зараннее сорри за сумбур :-)
Есть необходимость рисовать (через CPaintDC) в отдельном потоке. Т.к. раньше с этим никак не сталкивался, я не смог понять (гугл курил всю ночь), как передать в поток указатель на контекст устройства для рисования.
Объявление функции-потока:
Код:
static UINT proc1(LPVOID Param);
В теме разбираюсь не очень, потому зараннее сорри за сумбур :-)
Есть необходимость рисовать (через CPaintDC) в отдельном потоке. Т.к. раньше с этим никак не сталкивался, я не смог понять (гугл курил всю ночь), как передать в поток указатель на контекст устройства для рисования.
Объявление функции-потока:
Код:
static UINT proc1(LPVOID Param);
Код:
CPaintDC dc(this);
Код:
AfxBeginThread(proc1, &dc);
Пробовал через приведение типов (reinterpret_cast) - глухо. Проект компилируется, но вылетает ошибка
Помогите, плз
С этим классом не знаком, но по аналогии с обычными API-потоками, что то мне подсказывает, что ваш &dc уже сидит в функции потока под именем Param. Осталось его внутри функции потока преобразовать из void* обратно и использовать. Можно так:
type*_dc = (type*)Param; //извлекаем указатель на dc внутри функции потока.
Но, это гипотеза. Может вы и так это уже делали через reinterpret_cast<>()...