'Invalidate'에 해당되는 글 2건

  1. 2009.04.16 Invalidate(), UpdateAllViews() 1
  2. 2009.03.30 컨트롤변수 Invalidate();

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

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

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


 

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

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

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

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

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

 

CView -> Invalidate();

CDoc -> UpdateAllViews();

Posted by 철냄비짱
,

C, C++ 에서 컨트롤변수에 모두 적용가능한듯하다.

단순 설명으로 새로고침.

Grid부분, 기타 ComboBox 등등 강제로 셀이나 CEdit의 값을 설정 했을 경우,

바뀐 값이 제대로 보이지 않는 경우 주로 사용.

습관적으로 계속 써주는 것이 속편할 듯함.
Posted by 철냄비짱
,