
๐ฅ๏ธ C++ MFC ํ๋ก๊ทธ๋๋ฐ <๋ค์ด์ผ๋ก๊ทธ ์๋ช ์ฃผ๊ธฐ ํธ>
์๋กญ๊ฒ ๋์ ๋ ๋ค์ด์ผ๋ก๊ทธ์ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ์ ๋ํด์ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
โ VS 2022 ํ๊ฒฝ์์ ์งํ๋์์ต๋๋ค โ
๋ชจ๋ฌ ๋ค์ด์ผ๋ก๊ทธ๋ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋ซํ ๋๊น์ง ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ์ํธ์์ฉ์ ์ฐจ๋จํฉ๋๋ค.
๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋ซํ๋ฉด ์์คํ
์ด ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ฆฌํด ์ฃผ๊ธฐ ๋๋ฌธ์, ์๋ช
์ฃผ๊ธฐ ๊ด๋ฆฌ๊ฐ ์๋์ ์ผ๋ก ๊ฐ๋จํฉ๋๋ค.
๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋๋๋ฉด ์๋์ผ๋ก ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด๊ฐ ํ๊ดด๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฌ๋ ์ฌ๋ฐ๋ ๋์์ด ์์ต๋๋ค.
DoModal() ํจ์ ์ดํ ๋ฉ์์ง๋ฐ์ค๋ฅผ ํ๋ ๋์ด ๋ณด๊ฒ ์ต๋๋ค.

์คํํด๋ณด๋ฉด ๋ค์ด์ผ๋ก๊ทธ ์ฐฝ๋ง ๋ํ๋ฉ๋๋ค.
๋ฉ์์ง ๋ฐ์ค๋ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๊บผ์ผ ๋ํ๋์ฃ .

๋ชจ๋ฌ ๋ค์ด์ผ๋ก๊ทธ๋ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋ซํ ๋๊น์ง ๊ทธ ์ดํ์ ์ฝ๋๋ ์คํ๋์ง ์์ต๋๋ค.
DoModal() ํจ์๋ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋ซํ ํ์ ๋ฐํ๋๋ฉฐ, ๊ทธ ์ดํ์ ์์ฑ๋ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
๋ชจ๋ธ๋ฆฌ์ค ๋ค์ด์ผ๋ก๊ทธ๋ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ์ด๋ ค ์๋ ๋์์๋ ๋ค๋ฅธ ์ฐฝ๊ณผ ์ํธ์์ฉํ ์ ์์ต๋๋ค.
๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด๋ฅผ ๋์ ์ผ๋ก ํ ๋นํ๋ฉฐ, ๋ค์ด์ผ๋ก๊ทธ๊ฐ ๋ซํ ๋ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํด์ผ ํฉ๋๋ค.
์๋ช
์ฃผ๊ธฐ๋ฅผ ์ง์ ๊ด๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ์ฝ๋๊ฐ ํ์ํฉ๋๋ค.
๋ชจ๋ธ๋ฆฌ์ค ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด ํฌ์ธํฐ๋ฅผ ์์ฑํด์ฃผ๊ฒ ์ต๋๋ค.

๊ทธ๋ฆฌ๊ณ ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด๊ฐnullptr์ด๋ฉด ์์ฑ, ์๋๋ฉด ํฌ์ปค์ค๋ฅผ ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.

๊ทธ๋ฆฌ๊ณ ๋ถ๋ชจ ์๋์ฐ๊ฐ ๊บผ์ง๋ฉด ๋น์ฐํ ๊ฐ์ด ๊บผ์ง๋๋ก ํด์ผ๊ฒ ์ฃ ?
๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด๊ฐ ์๋ค๋ฉด ์ฐฝ์ ๋๊ณ , ํ ๋น ํด์ ๋ฅผ ํด์ฃผ๊ฒ ์ต๋๋ค.

์๋ฉธ์์ ํด์ ๋ฅผ ํด์คฌ๋๋ฐ ์ OnClose()๋ ํด์ฃผ์ด์ผ ํ๋์?
์๋ฉธ์์์ ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ๊ตฌํํ๋ค๋ฉด ์์น์ ์ผ๋ก OnClose์์ ๋ณ๋๋ก ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ์ฒ๋ฆฌํ ํ์๋ ์์ต๋๋ค.
ํ์ง๋ง MFC์์ ๋ชจ๋ธ๋ฆฌ์ค ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋ค๋ฃฐ ๋๋ ๋ค์ด์ผ๋ก๊ทธ ์ฐฝ์ ์๋์ผ๋ก ๋ซ์์ผ ํ๋ ์ํฉ์ด ์๊ธธ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
OnClose() ๋ฉ์์ง ํจ์๋ฅผ ์ ์ธํด์ฃผ๊ณ

๋ฉ์์ง๋งต์ ON_WM_CLOSE๋ก ๋งคํ์ ํด์ค๋๋ค.
์ฐธ๊ณ ๋ก ๋ฉ์์ง๋งต์์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋งคํฌ๋ก๋ก ์ด๋ฅผ ํตํด ํด๋น ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ํธ๋ค๋ฌ ํจ์๋ฅผ ํธ์ถํฉ๋๋ค.

๊ทธ๋ฆฌ๊ณ OnClose()์์๋ ๋์ผํ๊ฒ ๊ตฌํํ ๋ค, OnClose()๋ฅผ ๋ช
์์ ์ผ๋ก ํธ์ถํด์ค๋๋ค.

๊ทธ๋ฆฌ๊ณ ๋์์ ํด๋ณด๋ฉด?
์ฐฝ์ด ๋์์ง๊ณ ์ด๋ฏธ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ์๋ค๋ฉด ํฌ์ปค์ค๋ฅผ ์ฃผ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.

๋ํ ๋ถ๋ชจ๋ฅผ ์ข ๋ฃํ ์ ๊ฐ์ด ์ข ๋ฃ๋ ๊ฒ๋๋ค.
ํ์ง๋ง ์์ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋๊ณ ๋ค์ ํค๋ฉด ๋์ํ์ง ์์ต๋๋ค.
์ด๋ ์์์ด ์ข
๋ฃ๋ ๋ ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด ํฌ์ธํฐ ๋ณ์๋ฅผ nullptr๋ก ์ด๊ธฐํํด์ฃผ๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
OnClose()ํจ์ ์ ์ธํ๊ณ

๋ฉ์์ง๋งต์ ๋งคํฌ๋ก ๋งคํํด์ฃผ๊ณ

๋ถ๋ชจ๋ฅผ ๋ฐ์์ ๋ถ๋ชจ์ ๋ค์ด๋ด๋ก๊ทธ ๊ฐ์ฒด๋ฅผ nullptr๋ก ํด์ฃผ๋ฉด ๋๊ฒ ์ฃ ?

๊ทธ๋ฆฌ๊ณ ๋์์ ๋ณด๋ฉด ์ด์ ์์ฐ์ค๋ฌ์ด ํ๋ก์ฐ๋ฅผ ๋ฐ๋ผ ๋์ํฉ๋๋ค.

MFC ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ๋ค๋ฅผ ๊ฒ์ด ์์ต๋๋ค.
๊ฒฐ๊ตญ C++ ํฌ์ธํฐ ๊ฐ์ฒด์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ๋๊ฐ์ต๋๋ค.
๋ค์ ํฌ์คํ ์๋ ๋ค๋ฅธ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ด๋ จ ๋ฐ ์ปค์คํ ์์๋ฅผ ๋ง๋ค์ด์ ๋ค์ด์ผ๋ก๊ทธ์ ๋ฃ์ด ๋ณด๊ฒ ์ต๋๋ค.