텍스트를 표시해야하는 mfc 응용 프로그램이 있습니다. 스크롤 막대를 사용할 때마다 OnDraw() 함수가 호출됩니다.mfc 응용 프로그램에서 텍스트 파일을 표시하는 동안 스크롤
CString fileText = pDoc->GetFileText(); //get text from file
CRect rect;
GetClientRect(&rect);
pDC->DrawText(fileText.GetString(), &rect, DT_LEFT|DT_NOCLIP);
이 스크롤 영원히 복용하기 때문에 비효율적 인 것 같다 : 이것은 내의 OnDraw() 함수입니다. 문제는 전체 텍스트 파일을 다시 칠하는 것입니다. GetClipBox 함수를 사용하여 필요한 것만 다시 그리기를 원합니다. 누구든지 진행 방법에 대한 제안을 할 수 있습니까?
감사합니다.
전체 문자열을 다시 그릴 때 전체 문자열을 그릴 때 이중 버퍼링이 여전히 느려지는 것에 동의합니다. 그러나 스크롤링 만하면 문자열을 다시 그릴 필요가 없습니다. 메모리 비트 맵을 화면에 표시하면 꽤 빨라집니다. 나는 당신의 의견에 동의한다 - 전체 다시 그리기 속도를 높이려면 텍스트를 부분으로 나누고 그릴 필요가있는 부분을 찾아야한다. 어느 것이 까다 롭습니다. – Redeye
글쎄, 내가 앞으로 줄을 텍스트를 분할하고 관련성이있는 것들만 그리는 것 같아요. 네가 말했듯이, 까다로울거야. 너의 대답을 고마워. – molu