일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- bezier curve
- 핵심 API로 배우는 윈도우프로그래밍
- c4d
- window programming
- 운영체제
- win32
- Mesh Processing
- 컴퓨터 아키텍쳐
- 셰이더
- 윈도우프로그래밍
- 윈도우 구조
- MFC 윈도우 프로그래밍
- 셰이더프로그래밍
- 그래픽스기초
- 오픈지엘
- Geometry Modeling
- MFC
- 윈도우 프로그래밍
- 그래픽스
- Graphics
- 렌더링
- modeling
- shader
- OpenGL
- 윈도우
- 베지에 곡선
- 컴퓨터 구조
- denoising
- Win32 API
- shader programming
- Today
- Total
오다기리 박의 알고리즘 노트
[WIN32 API] 7. MDI 프로그래밍 본문
7. MDI 프로그래밍
■ MDI 프로그램 작성 순서
리소스 편집
- 자식 윈도우를 생성하는 데 사용할 메뉴 항목을 추가
WinMain() 함수 작성
- WinMain() 함수에 프레임 윈도우와 자식 윈도우를 위한 윈도우 클래스 변수를 선언,
각 변수의 필드에 값 대입
- 만든 윈도우 클래스 변수를 이용해 윈도우 클래스를 2개 등록(RegisterClass)
- 프레임 윈도우 생성(CreateWindow,ShowWindow)
WndProc() 함수 작성 : 자식 윈도우 생성하기
- 클라이언트 윈도우를 생성하는 코드 추가(클래스 변수설정, CreateWindow,ShowWindow)
- 메뉴 항목을 선택했을 때 클라이언트 윈도우가 자식 윈도우를 생성하도록 메시지를
전송하는 코드 작성(클래스변수설정,SendMessage)
ChildWndProc() 함수 작성
- 자식 윈도우에서 발생하는 메시지를 처리하는 코드 작성
■ 컨트롤 윈도우 활용하기 : 컨트롤도 윈도우이지만 독립적으로 존재하지 않고 부모윈도우에 속한 자식 윈도우의 형태이다. 부모윈도우는 어떤 윈도우라도 가능하다.
⠂리치 에디트 컨트롤 윈도우에 보내는 iMsg
- EM_SETCHARFORMAT : CHARFORMAT 구조체에 설정한 글꼴을 리치 에디트 컨트롤의 텍스트에 적용
wParam : 글꼴 변화를 적용할 영역을 알려주는 플래그값
SCF_ALL : 컨트롤에 있는 모든 텍스트에 적용
SCF_SELECTION : 현재 석택된 텍스트 영역에 적용
SCF_WORD : 선택된 문자에 적용
lParam : CHARFORMAT 구조체 값에 대한 포인터
- EM_GETCHARFORMAT : 리치에디트 컨트롤의 텍스트 글꼴 정보를 CHARFORMAT 구조체에 얻어온다.
wParam : 얻어오고자 하는 것을 알려주는 플래그 값
SCF_DEFAULT : 기본값으로 설정한 글꼴 정보
SCF_SELECTION : 선택 영역의 글꼴 정보
lParam : CHARFORMAT 구조체 값에 대한 포인터 (메시지를 전송하면 구조체에 얻어온 글꼴정보가 저장됨)
- EM_GETSELTEXT: 리치에디트 컨트롤에서 선택한 텍스트 영역을 버퍼에 복사해 오기 위해 보냄
wParam : x
lParam : 버퍼의 시작주소값 (버퍼크기>선택한 텍스트 크기)
반환값 : 복사한 텍스트의 길이
- EM_SETBKGNDCOLOR : 리치에디트 컨트롤의 배경 색을 변경하기 위해 보냄
wParam : 0아니면 -> 배경색으로 부모윈도우 배경색을 이용
0이면 -> 변경하고자 하는 색상정보를 COLORREF 형식으로 lParam을 통해 제공
- EM_SETFONTSIZE : 선택한 텍스트의 글꼴 크기를 조정
wParam : 글꼴 크기 정로수로 전달
lParam : 0
'WIN32 API' 카테고리의 다른 글
[핵심 API로 배우는 윈도우프로그래밍(강경우, 한빛아카데미)] 2장 1~5번 풀이 (0) | 2017.11.03 |
---|---|
[WIN32 API] 8. 파일 입출력 (0) | 2017.11.03 |
[WIN32 API] 6. 대화상자와 컨트롤 (0) | 2017.11.03 |
[WIN32 API] 5. 단축키와 비트맵 (0) | 2017.11.03 |
[WIN32 API] 4. 윈도우 메뉴 (0) | 2017.11.03 |