'UpdateAllViews'에 해당되는 글 1건

  1. 2009.04.16 Invalidate(), UpdateAllViews() 1

Invalidate()CWnd에 파생된 함수로써 View클래스 안에서 실행이 가능하다.(CWnd에 파생된 클래스에서)

일단 WM_PAINT메시지에 의해서 OnDraw()함수가 호출이 되는데, 이런 윈도우(운영체제)의 메시지로 호출되는 것이 아닌

프로그래머가 임의적으로 호출할 수 있게끔 해주는 아주 유용하고 없어서는 안되는 중요한 함수이다.(다시 그려주므로)


 

그런데 View클래스가 아닌 Document 클래스에서는 어떻게 실행시킬수 있을까?

CWnd에 파생된 것이 아닌 Document는 Invalidate()를 사용 할 수 없다.

하지만, 클라이언트 영역을 무효화시키는 다큐먼트 클래스에 파생된 UpdateAllViews()라는 함수가 있다.

이 함수는 클라이언트가 무효화 되었음을 뷰에 알려 WM_PAINT메시지가 뷰클래스에 전해지고 뷰클래스는

메시지를 받자 마자 OnDraw() 시켜주는 역할을 한다.

 

CView -> Invalidate();

CDoc -> UpdateAllViews();

Posted by 철냄비짱
,