윈도우 컨트롤 화면 깜빡임 해결 방법

int CSearchUserListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CSortListCtrl::OnCreate(lpCreateStruct) == -1)
return -1;

// 배경 브러시를 생성한다.
m_brushBackground.CreateSolidBrush(GetBkColor());

return 0;
}

BOOL CSearchUserListCtrl::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}

void CSearchUserListCtrl::OnPaint()
{
CPaintDC dc(this); // device context for painting

CMemoryDC memDC(&dc, &m_rtClientArea);
memDC->FillRect(&m_rtClientArea, &m_brushBackground);
CSortListCtrl::DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, 0);
}

void CSearchUserListCtrl::OnSize(UINT nType, int cx, int cy)
{
CSortListCtrl::OnSize(nType, cx, cy);

// 리스트 컨트롤의 영역 정보를 구한다.
GetClientRect(&m_rtClientArea);
}
위와같이 하면 컨트롤의 화면 깜빡임을 어렵지 않게 없앨 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다