728x90
'나우캠퍼스X아워즈팜'유튜브의 'Win32 API 7강. 다이얼로그 (2/4)'영상을 보고 정리한 내용입니다.
다이얼로그란 무엇인지, 모달형 다이얼로그를 어떻게 사용하는지 알고싶다면 이 링크를 클릭하세요
-> 모달형 다이얼로그
모달리스형 다이얼로그
모달리스형 다이얼로그 생성 함수
- CreateDialog
- HWND CreateDialog(
HINSTANCE hInstance,
LPCTSTR lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc ); - hInstance : 인스턴스
- lpTemplate : 폼을 아이디 형태로 지정(리소스에서 컨트롤들을 올려놓을 수 있는 폼을 만든 후)
- hWndParent : 이 다이얼로그를 실행시키는 윈도우의 핸들(메뉴에 의해 다이얼로그가 떴다면 메뉴를 가지고 있는 윈도우가 부모 윈도우)
- lpDialogFunc : 다이얼로그의 프로시저. 이 프로시저로 윈도우에 들어오는 모든 메시지를 처리할 수 있도록 한다.
- 폼 속성 중 Visible(보이게 할 것인지 아닌지)은 항상 False이며 CreateDialog는 자동으로 True로 바꾸어 주지 않기 때문에 따로 설정해 주어야 한다. (참고로 DialogBox는 자동으로 True를 설정해 줌)
모달리스형 다이얼로그 해제 함수
- DestroyWindow
- BOOL DestroyWindow(HWND hWnd);
- hWnd는 해제할 모달리스형 다이얼로그의 윈도우 핸들
- 모달형 다이얼로그의 해제 함수 EndDialog() 함수에서와 같이 WM_CLOSE 메시지가 발생되었을 때(창 닫기 버튼을 눌렀을 때) 호출을 해 줄 수 있다.
- 또 이 윈도우 창의 핸들을 전역으로 사용할 수 있도록 하여서 상위의 윈도우 창에서 이 윈도우 창을 해제시켜서 종료시킬 수 있다.
관련 코드입니다! -> 클릭
오류가 있다면 말해주시면 감사하겠습니다!
'무작정 따라해보기(정리, 문제풀기) > Win32API' 카테고리의 다른 글
23. WIN32API 프로그래밍 - 폼 기반의 윈도우 생성하기 (0) | 2021.09.06 |
---|---|
21. WIN32API 프로그래밍 - 모달형 다이얼로그 (0) | 2021.09.03 |
20. WIN32API 프로그래밍 - 타이머 관련 (0) | 2021.09.02 |
19. WIN32API 프로그래밍 - 마우스 관련 (0) | 2021.08.31 |
18. Win32API 프로그래밍 - 키보드 입력 (0) | 2021.08.30 |