Попробуйте отключить Aero. У меня похожая проблема, когда я рисую статический элемент управления, и когда он переходит из отключенного в включенное состояние, сообщение WM_PAINT никогда не принимается, но если я выключаю Aero, оно работает нормально.
дал пользовательский элемент управления, класс которого имеетCStatic
как базовый класс. В настоящее время я занимаюсь рисованием, используяWM_PAINT
мероприятие. Но есть странное поведение. Когда я снова включаю окно после его отключения с помощьюCWnd::EnableWindow
функция, она отказывается рисовать то, что я написал вOnPaint
функция. Вместо этого он рисует статический элемент управления.
Я согласен, что есть этот стандартный метод переопределенияDrawItem
и используяSS_OWNERDRAW
стиль. Но что не так сWM_PAINT
?
void XXControl::OnPaint()
{
CPaintDC PaintDC( this );
// ** draw the control to PaintDC**
}