[MFC] ์์ ์ ์ค๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋
์์ ์ ์ค๋ ๋? ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋?
MFC Application์์ ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ ๋, ๋ชฉ์ ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
- ์์ ์ ์ค๋ ๋(Worker Thread)
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋(User-Interface Thread)
๊ตณ์ด ์ด๋ ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น์?
ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๊ฒ์ ๋ฉ์ธ UI ์ค๋ ๋ ๋ด์์ ๋์ํ๋ ๊ฒ์ธ๋ฐ์. ํ๋ก๊ทธ๋จ ๋ด์ ๋ฒํผ๊ณผ ๊ฐ์ ์ปจํธ๋กค์ ์ด๋ฒคํธ ๊ทธ๋ฆฌ๊ณ OnPaint๋ Key ์ ๋ ฅ ๋ฑ์ ์ด๋ฒคํธ๋ค์ด ๋ฉ์ธ UI ์ค๋ ๋์์ ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ์ฉ์๊ฐ ์์ ์ ์ค๋ ๋๋ฅผ ์์ฑํ๊ณ , ์ด ์ค๋ ๋ ๋ด์์ ํ๋ก๊ทธ๋จ์ ์ปจํธ๋กค์ ์ ๊ทผํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
UI ์ค๋ ๋์์ ์ํ๋์ด์ผ ํ ์์ ์ด ๋ค๋ฅธ ์์ ์ค๋ ๋์์ ์ํ๋๋ฉด, ํ๋ก๊ทธ๋จ์ด ๋น์ ์ ๋์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ฒฝํ์์ผ๋ก, ๊ฐฑ์ ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฑฐ๋ ์์ ์ ์ค๋ ๋๊ฐ ์ข ๋ฃ๋์ง ์๊ฑฐ๋ ํน์ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋์ง ์๋ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ ์ด ์์ต๋๋ค. ๋ฌผ๋ก , ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ ์๋ ์์ง๋ง, ๋๋๋ก์ด๋ฉด ๋ชฉ์ ์ ๋ฐ๋ผ ์ ์ ํ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์์์ ์ค๋ช ๋๋ฆฐ ๋ด์ฉ์ MFC์๋ง ๊ตญํ๋ ๋ด์ฉ์ด ์๋๋๋ค. C#์์๋ ์์ ์ ์ค๋ ๋์์ ๋ฉ์ธ ํ๋ก๊ทธ๋จ์ UI ์ปจํธ๋กค์ ์ ๊ทผํ๋ฉด 'ํฌ๋ก์ค ์ค๋ ๋'์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. '์ปจํธ๋กค์ด ์์ ์ด ๋ง๋ค์ด์ง ์ค๋ ๋๊ฐ ์๋ ์ค๋ ๋์์ ์ก์ธ์ค ๋์์ต๋๋ค.'๋ผ๋ ๋ด์ฉ์ธ๋ฐ์. ์ฆ, ๋ฉ์ธ UI ์ปจํธ๋กค์ ๋ฉ์ธ UI ์ค๋ ๋ ๋ด์์๋ง ์์ ์ ํด์ผ ํ๋ค๋ ์๋ฏธ์ ๋๋ค.
๊ทธ๋ผ ์์ ์ ์ค๋ ๋์์๋ ๋ฉ์ธ UI์ ์ ๊ทผํ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ผ๊น์?
MFC์์๋ ์์
์ ์ค๋ ๋์์ PostMessage / SendMessage๋ฅผ ํตํด UI ์ค๋ ๋์ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ)
C#์์๋ ๋ธ๋ฆฌ๊ฒ์ดํธ(Delegate)๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
๊ทธ๋ผ ์ ๋ฆฌ๋ฅผ ํด๋ณผ๊น์?
์์ ์ ์ค๋ ๋(Worker Thread)
ํน์ ์ฐ์ฐ์ด๋ ์์ ์ ์ํ ์ค๋ ๋๋ฅผ ์ผ์ปซ๋๋ค.
์ง์ UI ์ปจํธ๋กค์ ์ ๊ทผํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์๋๋ค.
UI ์ค๋ ๋์ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด PostMessage ๋๋ SendMessage๋ฅผ ์ฌ์ฉํ๋ค.
์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋(User-Interface Thread)
ํ๋ฉด ๊ฐฑ์ ์ด๋ ๊ทธ๋ ค์ง๋ ๊ฒ์ฒ๋ผ '๋ณด์ด๋ ์์ '์ ์ฒ๋ฆฌํ๋ค.
์ปจํธ๋กค์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํ๋ค.
'Programming > MFC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MFC] Tab Control์ ์ฌ์ฉํ์ง ์๊ณ ์ฌ๋ฌ Form ์ค์์นญํ๊ธฐ(์์ ํฌํจ) (4) | 2019.09.09 |
---|---|
[MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ) (4) | 2019.09.06 |
[MFC] ์์ ์ ์ค๋ ๋ ์์ฑ๊ณผ ํด์ ์ฌ์ฉ ๋ฐฉ๋ฒ (์์ ์ฒจ๋ถ) (2) | 2019.09.03 |
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ) (2) | 2019.08.26 |
[MFC] lib, dll ํด๋์ ํ์ผ ๋ชฉ๋ก ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ (0) | 2019.05.25 |
[GDI] ์ด๋ฏธ์ง์ ์์ง์ด๋ ์ง์ ๊ทธ๋ฆฌ๊ธฐ (3) | 2019.03.02 |
[GDI+] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ (0) | 2019.02.28 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ)
[MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ)
2019.09.06 -
[MFC] ์์ ์ ์ค๋ ๋ ์์ฑ๊ณผ ํด์ ์ฌ์ฉ ๋ฐฉ๋ฒ (์์ ์ฒจ๋ถ)
[MFC] ์์ ์ ์ค๋ ๋ ์์ฑ๊ณผ ํด์ ์ฌ์ฉ ๋ฐฉ๋ฒ (์์ ์ฒจ๋ถ)
2019.09.03 -
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ)
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ)
2019.08.26 -
[MFC] lib, dll ํด๋์ ํ์ผ ๋ชฉ๋ก ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ
[MFC] lib, dll ํด๋์ ํ์ผ ๋ชฉ๋ก ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ
2019.05.25