728x90
'나우캠퍼스X아워즈팜'유튜브의 'Win32 API 7강. 다이얼로그 (3/4)'영상을 보고 정리한 내용입니다.
폼 기반 윈도우 생성
폼 기반의 윈도우 프로그램은 단일 프로그램을 작성할 때 많이 사용합니다.
폼 기반의 윈도우는 WinMain()에서 DialogBox()를 호출하는 방식으로 생성하며 이때 부모 윈도우는 0이나 NULL로 설정해줍니다.
타이틀 바꾸기
- 다이얼로그의 속성인 캡션을 설정(단점: 프로그램 실행 중에는 바꿀 수 없음)
- SetWindowText() -- 타이틀을 언제든 바꿀 수 있음
폼 기반의 윈도우를 생성하는 코드입니다 -> 클릭
파일 열기/닫기
파일을 열거나 저장할 때 띄워지는 다이얼로그를 보통 공용 대화상자라고 합니다.
파일을 열거나 저장할 때 OPENFILENAME 구조체를 이용하여 파일의 정보를 설정하고, 또 파일 열기 또는 저장 다이얼로그로 얻어오는 정보들을 설정해줍니다.
위의 OPENFILENAME 구조체를 사용하기 위해서는 #include <commdlg.h>를 위에 선언해주어야 합니다.
파일 열기 다이얼로그 생성 함수
- GetOpenFileName()
- BOOL GetOpenFileName( LPOPENFILENAME lpofn );
- lStructSize : OPENFILENAME구조체의 사이즈 --- sizeof(OPENFILENAME);
- hwndOwner : 부모 윈도우 핸들
- lpstrFilter : 파일형식 설명 --- 파일설명\0*.확장자\0
- nFilterIndex : 선택한 파일 인덱스 (1부터 시작함)
- lpstrFileTitle : 파일명을 저장할 배열을 지정 --- nMaxFileTitle에 길이를 지정하면 되고 파일명을 저장할 배열은 static 변수 또는 전역 변수로 설정한다.
- lpstrFile : 전체 경로를 저장할 배열을 지정 --- nMaxFile에 최대 길이를 지정하면 되고 전체 경로를 저장할 배열을 static 변수 또는 전역 변수로 설정한다.
- lpstrTitle : 다이얼로그의 타이틀 문자열
파일 저장 다이얼로그 생성 함수
- GetSaveFileName()
- BOOL GetSaveFileName( LPOPENFILENAME lpofn );
- lpstrFilter : 저장할 파일의 형식을 구분하는 역할
- 그 외는 파일 열기 다이얼로그 생성 함수인 GetOpenFileName()함수와 같다.
오류가 있다면 말씀해주시면 감사하겠습니다^^
'무작정 따라해보기(정리, 문제풀기) > Win32API' 카테고리의 다른 글
22. 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 |