2010-10-07 7 views

ответ

1

Вам необходимо позвонить InvalidateRect для окна с параметром bErase равным TRUE так, что она будет стирать себя перед WM_PAINT генерируется.

Это часто требуется, когда окно является элементом управления статическим текстом, поскольку они не стираются автоматически при изменении их значения.

Убедитесь, что ваше окно правильно обрабатывает WM_ERASEBKGND, а класс окна не имеет NULL фоновой кисти, так как это механизм, используемый InvalidateRect для стирания.

0

Вы можете просто FillRect над старым текстом первого ...

+0

Да, но он не освежает себя, когда я рисую прямоугольник над ним. – user963241

0
HDC hdc = GetDC(NULL); //get windows handle whaterver if urs 
HRGN hrgn; 

//get that specific region and repaint it by following line 

hrgn = CreateRectRgn(10, 10, 100, 100); 
SelectClipRgn(hDC, hrgn); 
PaintDesktop(hDC);