Re: Мерцание в Windows 7
От: kvasya  
Дата: 28.01.10 21:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть контрол который нормально показыает в Win XP, но вот в Windows 7 сильно мерцает, что не так ?


А>void OnPaint() 0

А>{
А> PAINTSTRUCT ps;
А> HDC hdc = ::BeginPaint(m_hWnd, &ps);

А> char* text = "hello"; // for example


А> // draw text

А> {
А> RECT rect;
А> GetClientRect(&rect);

А> ::FillRect(hdc, &ps.rcPaint, m_brush1);


А> HFONT hOldFont = (HFONT)::SelectObject(hdc, (HFONT)m_font1);


А> ::DrawText(hdc, text, strlen(text), &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);


А> if (hOldFont) ::SelectObject(hdc, hOldFont);

А> }

А> ::EndPaint(m_hWnd, &ps);

А>}

Это небольшая оптимизация. А мерцание удаляется буферизацией. Если поделка, сделай в классе окна NULL кисть в качестве Background. Или обрабатывай WM_ERASEBKGND
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.