Здравствуйте, Аноним, Вы писали:
А>Есть контрол который нормально показыает в 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