MFC
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #4 (์์ ํฌํจ)
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #4 (์์ ํฌํจ)
2021.01.11์ด์ ๊ทธ๋ฆผํ ํ๋ก์ ํธ์ ๋ง์ง๋ง ํฌ์คํ
์
๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ MFC์์์ ๋์์ ์ค๋ช
ํฉ๋๋ค. ๋ณธ๋ฌธ์ ํ๋จ์๋ ์ํ ์ฝ๋๊ฐ ์ฒจ๋ถ๋์ด ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์. [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1 [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2 [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #3 ์บ๋ฒ์ค(Canvas) ์ด๊ธฐํ ์บ๋ฒ์ค๋ ํ์ฌ ๊ทธ๋ฆฌ๊ณ ์๋ ๊ฒ(m_canvasDuringDraw)๊ณผ, ๋ง์ง๋ง์ผ๋ก ๊ทธ๋ฆฐ ๊ฒ์ ๋ฐฑ์
ํ๋ ๊ฒ(m_canvasAfterDrawing) ๋ ๊ฐ๊ฐ ์๋ค๊ณ ์ค๋ช
ํ์ต๋๋ค. initializeCanvas() ํจ์๋ ์บ๋ฒ์ค๋ฅผ Dialog ํฌ๊ธฐ๋งํผ ์์ฑํ๊ณ ํ์๊ฒ ์ฑ์ฐ๋ ์์
์ ์ํํฉ๋๋ค. ํจ์ ์ธ์๋ก Width, Height๋ฅผ ๋๊ฒจ ์์ ๋ก์ด ํฌ๊ธฐ๋ก ์์ฑํ๊ฒ ํ๋ ..
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #3
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #3
2021.01.08์ง๋ ํฌ์คํ
์ ์ด์ด GDI+, ๋๋ธ ๋ฒํผ๋ง ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ๊ทธ๋ฆด ๊ฒ์ธ์ง์ ๋ํ ๋ด์ฉ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค. [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1 [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2 ๋ํ์ ์ด๋ป๊ฒ ๊ทธ๋ฆด ๊ฒ์ธ๊ฐ ์ฌ์ค ์ฒ์์๋ vector๋ฅผ ์ฌ์ฉํ์ฌ IFigure๋ฅผ ์ฐจ๋ก๋๋ก ๊ทธ๋ฆฌ๋๋ก ๊ตฌํํ์์ต๋๋ค. ์ด๋ ๊ฒ ๊ตฌํํ๋ฉด, ์ฌ๋ฌ ๋ํ์ ์์ฐจ์ ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ๋ ํ ํน์ ๋ํ ํธ์ง์ด ๊ฐ๋ฅํด์ง๋๋ค. ๋๋ ์ญ์ ๋ ๊ฐ๋ฅํ๊ฒ ์ฃ ? ๋ค๋ก ๋๋๋ฆฌ๊ธฐ ์์
๋ ๊ฐ๋ฅํด ๋ณด์
๋๋ค. ํ์ง๋ง CropBox๋ฅผ ์ฌ์ฉํ์ฌ ๋ํ์ด ํธ์ง๋ ๊ฒฝ์ฐ, vector์ ์๋ ๋ํ์ ๋ค์ ๊ทธ๋ฆฌ๊ฒ ๋๋ฉด ์๋ณต ๋๊ฒ ์ฃ ? ๊ทธ๋์ ๋ณธ๋ฌธ์ ๊ทธ๋ฆผํ ํ๋ก์ ํธ์์๋ vector๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ๊ทธ๋๊ทธ๋ ์ถ๊ฐํ ๋ํ์ ์ด๋ฏธ์ง์ ๋ง ๊ทธ๋ฆฌ๊ธฐ ํํ๋ก ๊ตฌํํ..
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2
2021.01.04์ง๋ ํฌ์คํ
์ ์ด์ด ๊ทธ๋ฆผํ ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ๋์ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค. [MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1 Figure Interface ์ค๊ณ ๋จผ์ , ๋ํ ์ธํฐํ์ด์ค์
๋๋ค. ๋ํ์๋ ์ , ์ฌ๊ฐํ, ์ํ, ๋ค๊ฐํ, ์ผ๊ฐํ, ํ์ดํ ๋ฑ ๋ค์ํ ๊ฒ๋ค์ด ์์ต๋๋ค. ์ธํฐํ์ด์ค๋ก IFigure๋ฅผ ์ ์ธํ๊ณ , ๋ชจ๋ ๋ํ์ IFigure๋ฅผ ์์๋ฐ๋๋ก ๋ง๋ญ๋๋ค. ์ธํฐํ์ด์ค์ ๋ชจ๋ ๊ตฌํ์ ์์๋ฐ๋ ๊ฐ ๋ํ ํด๋์ค์์ ํฉ๋๋ค. ์ธํฐํ์ด์ค IFigure์ ์ ์ธ๋ถ. class IFigure { public: virtual void Draw(Gdiplus::Graphics* g) = 0; virtual void Drag(const unsigned int x, const unsigned int y) = 0; vi..
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1
2020.12.31๊ทธ๋ฆผํ(mspaint) ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค? ํน์ ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณธ ๊ฒฝํ์ด ์์ผ์ ๊ฐ์? ์ฃผ์ ๋ก ๋ดค์ ๋ ํ๊ต ๊ณผ์ ๊ฐ์ ๋ณด์
๋๋ค. ์ค๋ฌด์์๋ ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ผ๋ ์
๋ฌด๋ ๊ฑฐ์ ์์ ๊ฑฐ๋ผ ์๊ฐ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ํน์, ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์์ผ์ ๊ฐ์? ์ฌ์ค ์ ๋ ๊ตณ์ด ๋ง๋ค ์๊ฐ์ ์ ํ์ต๋๋ค. ํ์ง๋ง ์ต๊ทผ ๊ทธ๋ฆผํ๊ณผ ์์ฃผ ๋น์ทํ ์ด๋ฏธ์ง ๋ทฐ์ด(image viewer) ๋ชจ๋์ ๊ฐ์ ํ๊ธฐ ์ํด ์ค๊ณ๋ฅผ ์๊ฐํ๋ค๊ฐ, '๊ทธ๋ฆผํ์ ๋ง๋ค์ด ๋ณผ๊น'๋ผ๋ ์๊ฐ์ด ๋ค์ด ๋ง๋ค๊ฒ ๋์ต๋๋ค. ๋ฐฉ๊ธ ์๊ธฐํ ์ด๋ฏธ์ง ๋ทฐ์ด๋ ์นด๋ฉ๋ผ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฆฌ๊ณ (drawing), ๊ทธ ์์ ๊ฐ์ข
๋ํ(Line, Rectangle, Circle, CrossLine ๋ฑ)์ ๋ง๊ทธ๋ฆด(overlay) ์ ์๋ ๋ชจ๋์ ์๋ฏธํฉ๋๋ค. ํ๋/์ถ์(z..
[C++ DLL] ํด๋์ค๋ฅผ MFC ํ์ฅ DLL๋ก ๋ง๋ค๊ณ ์ฌ์ฉํ๊ธฐ (์์ ํฌํจ)
[C++ DLL] ํด๋์ค๋ฅผ MFC ํ์ฅ DLL๋ก ๋ง๋ค๊ณ ์ฌ์ฉํ๊ธฐ (์์ ํฌํจ)
2020.12.16๋ณธ๋ฌธ์ ์ฝ๊ธฐ ์ ์ ์๋์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ดํดํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค. [C++ DLL] C++ ํด๋์ค๋ฅผ DLL๋ก ๋ง๋ค๊ณ ์ฌ์ฉํ๊ธฐ (์์ ํฌํจ) [C++ DLL] Visual Studio C++ ๋ช
์์ ๋งํฌํ๊ธฐ (์์ ํฌํจ) [C++ DLL] Visual Studio C++ ์์์ ๋งํฌํ๊ธฐ (์์ ํฌํจ) [C++ DLL] Visual Studio C++ DLL ์์ฑํ๊ธฐ (์์ ํฌํจ) MFC ํ์ฅ DLL MFC ํ์ฅ DLL์ MFC ํ๋ก์ ํธ์ MFC ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐ๊ฒฐ๋ ์ผ๋ฐ DLL์์๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. MFC ํ์ฅ DLL์ ์ฌ์ฉํ๋ฉด ํด๋์ค๋ฅผ ์ฝ๊ฒ DLL๋ก Export ํ ์ ์๊ธฐ ๋๋ฌธ์, ํ๊ฒ ํ๋ก์ ํธ๊ฐ MFC๋ผ๋ฉด MFC ํ์ฅ DLL๋ก ๋ง๋๋ ๊ฒ๋ ์ฌ์ด ๋ฐฉ๋ฒ์
๋๋ค. MFC ํ์ฅ DLL ๋ง๋ค๊ธฐ ํ ๋ฒ ๋ฐ๋ผํด..
[MFC] MFC์์ XLNT๋ฅผ ์ด์ฉํ ์์
(Excel)ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ (์์ ํฌํจ)
[MFC] MFC์์ XLNT๋ฅผ ์ด์ฉํ ์์ (Excel)ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ (์์ ํฌํจ)
2020.05.31์๊ฐ C#์์๋ Microsoft.Office.Interop.Excel dll์ ์ฌ์ฉํ์ฌ ๊ฐํธํ๊ฒ ์์
ํ์ผ์ ์ ๊ทผํ๊ณ , ๋ฐ์ดํฐ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ํธ๋ฆฌํฉ๋๋ค. ํ์ง๋ง C++์ด๋ MFC๋ ์ ๊ณต๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค ๋ณด๋ ๋๋ฌด๋๋ ๋ถํธํฉ๋๋ค. ๊ตฌ๊ธ์ ๊ฒ์ํด๋ณด๋ฉด ๋๋ถ๋ถ Automation class(CXLEzAutomation)๋ฅผ ์ฌ์ฉํ ๋ฐฉ๋ฒ๋ค์ด ๋์ค๋๋ฐ์. Github ์ฃผ์๋ ๊ฐ๋ฐ์ ๋งํฌ๊ฐ ์์ด ์
๋ฐ์ดํธ๋ ๋๋ ๊ฑด์ง, ๋ฒ๊ทธ๋ ์๋์ง ์ ์๊ฐ ์์ต๋๋ค. ๋๋ ์ง์ ํ์ผ์ ์ ๊ทผํ์ฌ ์ปค์คํฐ๋ง์ด์ฆ ๋ ํด๋์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์๋ฌผ๋ ๋ณด์๋๋ฐ์. ์ด๊ฒ ์ญ์ ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๋ผ๋ ๊ฐ, ๋ ์ด์ ์
๋ฐ์ดํธ๊ฐ ์์ด ๋ฒ์ฉ์ฑ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ ์ญ์ ์ด๊ฒ ์ ๊ฒ ์๋ํด๋ณด๋ค๊ฐ XLNT ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๊ฒ๋์๊ณ , ๊ฐํธํ๊ฒ ์์
ํ์ผ ์ฝ๊ณ ..
[MFC] CFormView ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
[MFC] CFormView ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
2020.05.19์ง๋ ํฌ์คํ
์์ Dialog ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉ ๋ฐฉ๋ฒ์ ์๊ฐํ์์ต๋๋ค. [MFC] Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizing ํ๊ธฐ(์์ ํฌํจ) [MFC] Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ) ์๊ฐ Visual Studio 2015 MFC์๋ ๋์ ๋ ์ด์์(Dynamic Layout) ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ Dialog์ Resizing์ ๋ฐ๋ผ ์๋์ผ๋ก Control๋ค์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ ์ ๋๋ฉ์ด์
์ ๋ณด๋ฉด.. luckygg.tistory.com ์ด๋ฒ ํฌ์คํ
์์๋ CFormView ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ณ ์ ํฉ๋๋ค. ์ด๋ฒ์ ๋ค๋ฃฐ ์์ ๋ ์๋ ๋งํฌ์ ์์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ์์ ์
๋..
[MFC] Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
[MFC] Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
2020.05.16์๊ฐ Visual Studio 2015 MFC์๋ ๋์ ๋ ์ด์์(Dynamic Layout) ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ Dialog์ Resizing์ ๋ฐ๋ผ ์๋์ผ๋ก Control๋ค์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ ์ ๋๋ฉ์ด์
์ ๋ณด๋ฉด ์ดํดํ๋๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค. ๋ณดํต ์ผ๋ฐ ํ๋ก๊ทธ๋จ๋ค์ ์ด ๊ธฐ๋ฅ์ด ๊ฑฐ์ ๋ค์ด๊ฐ ์์ต๋๋ค. ์คํ๋ ค ๋์ ๋ ์ด์์์ด ์ ์ฉ๋์ง ์์ ํ๋ก๊ทธ๋จ์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต์ฃ . ํ์ง๋ง ์ฅ๋น ํ๋ก๊ทธ๋จ์์๋ ๋ณดํต ์ฌ์ฉํ์ง ์์ต๋๋ค. ๋ชจ๋ํฐ ํฌ๊ธฐ(๋๋ ์๋์ฐ ํด์๋)๊ฐ ๊ณ ์ ๋์ด ์๊ณ , ์์
์๊ฐ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๊ฒฝ์ฐ๋ ๊ทนํ ๋๋ฌผ๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฒ๋ค๊ฐ ํ๋ก๊ทธ๋จ์ ์๋ง์ ์ปจํธ๋กค์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ๋์ ๋ ์ด์์์ ์ ์ฉํ๋ค๋ ๊ฒ์ ๋ถํ์ํ ์์
์ด๋ผ ์ฌ๊ฒจ์ง๋๋ค. ์ด๋ฒ..
[MFC] Tab Control์ ์ฌ์ฉํ์ง ์๊ณ ์ฌ๋ฌ Form ์ค์์นญํ๊ธฐ(์์ ํฌํจ)
[MFC] Tab Control์ ์ฌ์ฉํ์ง ์๊ณ ์ฌ๋ฌ Form ์ค์์นญํ๊ธฐ(์์ ํฌํจ)
2019.09.09์ง๋ ํฌ์คํ
์์ ๋ฉ์ธ ๋ค์ด์ผ๋ก๊ทธ์ ์๋ก์ด ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋ถ์ด๋ ์์ ๋ฅผ ๋ณด์ฌ๋๋ ธ์์ต๋๋ค. [MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ) [MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ) Dialog์ Dialog๋ฅผ ๋ถ์ธ๋ค? ์ด๋ฒ ํฌ์คํ
์์๋ ๋ค์ด์ผ๋ก๊ทธ์ ์๋ก์ด ๋ค์ด์ผ๋ก๊ทธ(CFormView ๊ธฐ๋ฐ)๋ฅผ ๋ถ์ด๋ ์์ ๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ธ์ง ๊ฐ์ด ์ ์ค์์ฃ ? ์ฝ๊ฒ ์ดํดํ ์ ์๊ฒ ์๋ ์ด๋ฏธ์ง๋ฅผ.. luckygg.tistory.com Form ์ค์์นญ? Tab Control๊ณผ ๋ค๋ฅธ ์ ์? ์ด๋ฒ์๋ ์ด ๋ฐฉ๋ฒ์ ์์ฉํ์ฌ ์ฌ๋ฌ Form์ ์ค์์นญํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ค ์ด ๊ธฐ๋ฅ์ MFC์ Tab Control๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ธ๋ฐ์. ์์๋ค์ํผ MFC UI ์ปจ..
[MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ)
[MFC] Dialog์ Form(Dialog) ๋ถ์ด๊ธฐ(์์ ํฌํจ)
2019.09.06Dialog์ Dialog๋ฅผ ๋ถ์ธ๋ค? ์ด๋ฒ ํฌ์คํ
์์๋ ๋ค์ด์ผ๋ก๊ทธ์ ์๋ก์ด ๋ค์ด์ผ๋ก๊ทธ(CFormView ๊ธฐ๋ฐ)๋ฅผ ๋ถ์ด๋ ์์ ๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ธ์ง ๊ฐ์ด ์ ์ค์์ฃ ? ์ฝ๊ฒ ์ดํดํ ์ ์๊ฒ ์๋ ์ด๋ฏธ์ง๋ฅผ ์ค๋นํ์ต๋๋ค. ์ฆ, ๋ฉ์ธ ๋ค์ด์ผ๋ก๊ทธ์ ํน์ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ํน์ ์์ญ์ ๋ถ์ด๋ ๊ฒ์
๋๋ค. ์ด๋ฐ ์์
์ด ์ ํ์ํ ๊น์? ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ๋ชจ๋ํ๋ ์ ๋ง ์ค์ํฉ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์ค์ํ ๊ฐ๋
์ค ํ๋์ฃ . ๋ง์ฝ, ๋ชจ๋ํ๋ฅผ ํ์ง ์๊ณ ํ๋์ ํด๋์ค ์์ ์จ๊ฐ ์ฝ๋๋ฅผ ๊ตฌํํด ๋์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ์ง์ ๊ฐ๋ฐํ ๊ฐ๋ฐ์๋ ๋ฌผ๋ก ํฅํ ์ ์ง๋ณด์ ๊ฐ๋ฐ์๋ ์์๋ณด๊ธฐ๊ฐ ํ๋ค ๊ฒ์
๋๋ค. ์ด๋๋ถํฐ ์
๋ชฝ์ด ์์๋๊ฒ ์ฃ . UI๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ํ๋์ ๋ค์ด์ผ๋ก๊ทธ์ ๋ณด์ธ๋ค๊ณ ํด์ ์จ๊ฐ ์ปจํธ๋กค๋ค์ ๋ฐฐ์นํด๋ฒ..
[MFC] ์์
์ ์ค๋ ๋ ์์ฑ๊ณผ ํด์ ์ฌ์ฉ ๋ฐฉ๋ฒ (์์ ์ฒจ๋ถ)
[MFC] ์์ ์ ์ค๋ ๋ ์์ฑ๊ณผ ํด์ ์ฌ์ฉ ๋ฐฉ๋ฒ (์์ ์ฒจ๋ถ)
2019.09.03์ง๋ ํฌ์คํ
์์ ์์
์ ์ค๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋์ ๋ํ ์๊ฐ๋ฅผ ํ์๋๋ฐ์. 2019/08/31 - [MFC] ์์
์ ์ค๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋ ์ด๋ฒ ํฌ์คํ
์์๋ ์์
์ ์ค๋ ๋์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค. โป ์์ ์ฝ๋๋ ๋ณธ๋ฌธ ํ๋จ์ ์ฒจ๋ถ๋์ด ์์ต๋๋ค. MFC์์๋ AfxBeginThread! ๋์๋ MFC Thread์ ๊ดํ ๊ธ๋ค์ ๋ณด๋ฉด ๋ณดํต CreateThread, _beginthread, AfxBeginThread์ ๋ํด ์ค๋ช
ํ๋๋ฐ์. ๊ฒฐ๋ก ์ ์ผ๋ก, MFC ๊ด๋ จ ํด๋์ค ๋ฐ API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ AfxBeginThread๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ณธ๋ฌธ์์๋ ๊ฐ ์ค๋ ๋ ์์ฑ ํจ์์ ๋ํด์๋ ์ค๋ช
์ ์๋ตํ๊ณ , ์ค์ MFC์์ ์ค๋ ๋๋ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์๊ฐํ๊ฒ ์ต๋๋ค. AfxBegi..
[MFC] ์์
์ ์ค๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋
[MFC] ์์ ์ ์ค๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋
2019.08.31์์
์ ์ค๋ ๋? ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋? MFC Application์์ ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ ๋, ๋ชฉ์ ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ์์
์ ์ค๋ ๋(Worker Thread) ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๋ ๋(User-Interface Thread) ๊ตณ์ด ์ด๋ ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น์? ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๊ฒ์ ๋ฉ์ธ UI ์ค๋ ๋ ๋ด์์ ๋์ํ๋ ๊ฒ์ธ๋ฐ์. ํ๋ก๊ทธ๋จ ๋ด์ ๋ฒํผ๊ณผ ๊ฐ์ ์ปจํธ๋กค์ ์ด๋ฒคํธ ๊ทธ๋ฆฌ๊ณ OnPaint๋ Key ์
๋ ฅ ๋ฑ์ ์ด๋ฒคํธ๋ค์ด ๋ฉ์ธ UI ์ค๋ ๋์์ ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ฉ์๊ฐ ์์
์ ์ค๋ ๋๋ฅผ ์์ฑํ๊ณ , ์ด ์ค๋ ๋ ๋ด์์ ํ๋ก๊ทธ๋จ์ ์ปจํธ๋กค์ ์ ๊ทผํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? UI ์ค๋ ๋์์ ์ํ๋์ด์ผ ํ ์์
์ด ๋ค๋ฅธ ์์
์ค๋ ๋์์ ์ํ๋๋ฉด, ํ๋ก๊ทธ๋จ์ด ๋น์ ์ ๋์ํ ..