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

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

๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ
โ ๋ชจ๋ ์์๋ฅผ ์ถ๊ฐํ ํ์๋ ID๋ฅผ ์ง์ ํด์ฃผ์ธ์ โ
๋ฉ๋ด์ ํ
์คํธ ๋ฒํผ์ด๋ผ ID_MENU_TEST_BTN์ด๋ผ๊ณ ์ง์์ต๋๋ค.

๊ทธ๋ฆฌ๊ณ ์คํํด๋ณด๋ฉด ์์ง ์ด๋ฒคํธ๊ฐ ์์ด ๋ฒํผ์ด ์์ผ๋ ๋นํ์ฑํ๋ ์ํ์์ ํ์ธํ ์ ์์ต๋๋ค.

์ฌ๊ธฐ์ ๊ฐ๋ ํ๋๋ฅผ ์๊ณ ๊ฐ๊ฒ ์ต๋๋ค.
๊ฐ ์๋์ฐ ์ฐฝ๋ค์ ๊ฐ์์ ํด๋์ค๊ฐ ์กด์ฌํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ทธ ์ธ์ ์ถ๊ฐ๋ ์์๋ค์ ํ ๋น๋ ํด๋์ค๊ฐ ์์ต๋๋ค.
๊ทธ๋ผ ์ด๋ป๊ฒ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๋๋?
ID์ ํจ์๋ฅผ ๋งคํ์ ํตํด์ ์ฌ์ฉ์์ ์
๋ ฅ์ ๋ํด์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ์
๋๋ค.
๊ทธ๋์ ID๋ฅผ ์ง์ ํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค.
์๋ ์์ฑ๋๋ ID๋ฅผ ๋จ๋ฐํ๋ค๊ฐ๋ ์ ์ง๋ณด์๊ฐ ๋ถ๊ฐ๋ฅํด์ง๊ฒ๋๋ค.
์ฐ์ ์์ฑ๋ ๋ฒํผ์ ์ฐํด๋ฆญํด์ฃผ์ธ์.
๊ทธ๋ฌ๋ฉด ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ์ถ๊ฐ๋ฅผ ์ ํํด์ฃผ์ธ์.

๊ทธ๋ฆฌ๊ณ ๋ฉ์ธ์๋์ฐ์ ๋ฉ๋ด์ฐฝ์ด๋ CMainFrame ํด๋์ค์ ์ด๋ฒคํธ ํจ์๋ฅผ ๋งคํํด์ฃผ๊ฒ ์ต๋๋ค.
ํด๋์ค ์ ํํด์ฃผ์๊ณ ๋ฉ์์ง ์ ํ์ COMMAND๋ก ํด์ฃผ์ธ์.
ํจ์ ์ด๋ฆ๋ ์ ์ง์ด์ฃผ์๊ณ ํ์ธ.

๊ทธ๋ฌ๋ฉด 3๊ฐ์ง๊ฐ ์์ฑ์ด ๋ฉ๋๋ค.
- ์ ํํ ํด๋์ค์ ํค๋ํ์ผ์ ์ด๋ฒคํธ ํจ์ ์ ์ธ ์์ฑ
afx_msg void ํจ์()
- ์ ํํ ํด๋์ค์ .cpp ํ์ผ์ ๋ฉ์์ง ๋งคํ
BEGIN_MESSAGE_MAP๊ณผEND_MESSAGE_MAP์ฌ์ด์ (ID, ํจ์) ํ์์ผ๋ก ๋งคํ์ด ์ด๋ฃจ์ด์ง๋๋ค.
- ์ ํํ ํด๋์ค์ .cpp ํ์ผ์ ์ด๋ฒคํธ ํจ์์ ์ ์๋ถ ์์ฑ
ํด๋น ํจ์์ ๋์ํ ์ด๋ฒคํธ๋ฅผ ๊ตฌํํฉ๋๋ค.
์ 3๊ฐ์ง๋ฅผ ํ์ธํด์ฃผ์ธ์.
์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ์ถ๊ฐ๋ฅผ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ผ๋
์ง์ ์ฝ๋๋ฅผ ์์ฑํด์ ์๋์ผ๋ก ์์
ํ ์๋ ์์ต๋๋ค.
๋ฆฌ์์ค๋ทฐ์์ ๋์ธ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ์์ฑํด๋ด
์๋ค.
์ด๋ฒ์ Dialogํด๋์ ์ฐํด๋ฆญ ํ ๋ฆฌ์์ค ์ถ๊ฐ๋ฅผ ์ ํํด์ฃผ์ธ์.

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

๊ธฐ๋ณธ ๋ค์ด์ผ๋ก๊ทธ ์ฐฝ์ด ๋ํ๋ฉ๋๋ค.
์ ์๋ก์ด ์์๋ฅผ ๋ง๋ค์์ผ๋ ๊ฐ์ฅ ๋จผ์ ํด์ผํ ์ผ์?
โ ID๋ฅผ ์ง์ ํด์ฃผ์ธ์ โ

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

TestDialog๋ผ๊ณ ์ด๋ฆ์ง์ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ฃผ๊ฒ ์ต๋๋ค.
๊ธฐ๋ณธ ํด๋์ค๋ ์ผ๋จ CDialogEx๋ฅผ ์์๋ฐ๋๋ก ํ๊ฒ ์ต๋๋ค.
ํฌ์คํ
์ ์งํํ๋ฉฐ ๋ค๋ฅธ ์์๋ฅผ ์์๋ฐ๋ ๋ค์ด์ผ๋ก๊ทธ๋ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.

์ฌ๊ธฐ๊น์ง ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ์๋ก ์์ฑ์๋ฃ ํ์์ต๋๋ค.
์ ์ด์ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋์ด ๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ ์์ฑํ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋ฉ์ธํ๋ ์์ ํฌํจ์์ผ์ฃผ์ธ์.
#include "ํด๋์ค.h"๋ฅผ ํ๋ฉด ๋๊ฒ ์ฃ ?

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

์คํํด๋ณด๋ฉด ์ฐฝ์ด ์ ๋ํ๋ฉ๋๋ค!
ํ์ง๋ง ๋ค์ ๋ฉ๋ด๊ฐ ํด๋ฆญ์ด ๋์ง ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.

๋ชจ๋ฌ ๋ฐฉ์์ ์ฃผ์์ฒ๋ฆฌํ๊ณ ๋ชจ๋ธ๋ฆฌ์ค๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
new๋ฅผ ์ฌ์ฉํด์ ์๋ก์ด ํด๋์ค ๋ณ์๋ฅผ ๋์ ํ ๋น์ผ๋ก ์์ฑํด์ฃผ์์.
๊ทธ๋ฆฌ๊ณ ์์ฑํ ๋ค์ด์ผ๋ก๊ทธ์ ID๋ฅผ ๋ฃ์ด์ Create()๋ก ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ShowWindow(SW_SHOW)๋ก ๋์ธ ์ ์์ต๋๋ค.

์คํํด๋ณด๋ฉด ์ญ์ ์ฐฝ์ด ์ ๋ํ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฒ์๋ ๋ค์ ๋ฉ์ธ์ฐฝ๊ณผ ์ํธ์์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.

์ง๊ธ ์ฐฝ์ ๋์์ผ๋ ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ฒด์ ๋ํ ์๋ช
๊ด๋ฆฌ๊ฐ ์ ํ ๋๊ณ ์์ง ์์ต๋๋ค.
ํด๋น ๋ด์ฉ์ ๋ค์ ํฌ์คํ
์ ์งํํ๋๋ก ํ๊ฒ ์ต๋๋ค.