[MFC] OnInitDialog 와 OnShowWindow

빵욱·2024년 8월 17일

OnInitDialog, OnShowWindow 차이점

OnInitDialog()는 다이얼로그가 처음 생성될 때, 즉 초기화 단계에서 호출된다.
다이얼로그가 생성되고 나서 컨트롤을 초기화하거나 데이터를 설정하는 데 주로 사용된다.
그리고 다이얼로그가 화면에 표시되기 전에 호출된다.

OnShowWindow()는 다이얼로그 또는 창이 실제로 화면에 표시되거나 숨겨질 때 호출된다.
이 함수는 창이 표시될 때나 숨겨질 때마다 호출되며, 창이 화면에 완전히 표시된 후에 관련 작업을 수행하는 데 적합하다.


다이얼로그 호출 시에 Edit Control의 포커싱 조작같은 UI요소를 다룰 때 OnInitDialog() 함수에 했다가 안되서 찾아보니 OnInitDialog()는 화면에 표시되기전에 호출되서 컨트롤 설정이 되지 않는 거였다. OnShowWindow()에 하니 제대로 동작. 포커스나 화면에 나타나는 UI 관련 작업을 처리하려면 OnShowWindow()에 하도록 해야겠다.
profile
rove drink eat

0개의 댓글