Цель: нарисовать график в дочернем окне на статическом элементе управления plotScreen.Иногда график будет составлен из входящих данных, поэтому я рисую на совместимом DC, чтобы уменьшить мерцание.
Проблема: код работает правильно, чтобы нарисовать график в основном кадре, используя GetActiveWindow()
, а затем GetDC()
, но я не могу заставить программу распознавать дочернее окно или статический элемент управления как окно.
Строка, которая вызывает ошибку подтверждения:
CDC *pDC = plotScreen.GetDC();
Создание plotScreen:
plotScreen.Create("Gamma Playback", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | DT_CENTER, plotRect, thisParent, NULL);
Ошибка подтверждения:
ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
Статика создается до вызова GetDC.
Редактировать: статика успешно создана, но уничтожена.Я попытался использовать new для размещения в куче, но он все еще уничтожен, прежде чем я смогу использовать его в более поздней функции.