MFC
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ)
[MFC] SendMessage์ PostMessage์ ์ฐจ์ด (์์ ์ฝ๋ ํฌํจ)
2019.08.26์๊ฐ ๋ชจ๋ Windows ํ๋ก๊ทธ๋จ์ ๋ฉ์์ง ๋ฃจํ(message loop)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค. ๋ฉ์์ง ๋ฃจํ๋ ๋ฉ์์ง๋ฅผ ๋ฐ์๋ค์ด๋ ๋ถ๋ถ์ ๋ปํ๋ฉฐ, ์ฌ์ฉ์์ ์
๋ ฅ์ด๋ ๊ธฐํ ํ๋์ ๋ฐ์ ๋ฉ์์ง ํ์ ๋ฃ๊ณ , ๊ฐ ํ๋ก์ธ์ค๋ ๋ฉ์์ง๋ค์ ์ง์์ ์ผ๋ก ์ฝ์ด ๋ค์ด๋ฉด์ ๊ฐ ๋ฉ์์ง์ ๋์ํ๋ ํ๋์ ์ํํฉ๋๋ค. MFC๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉ์์ง ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค. MFC์์๋ ์๋ก ๋ค๋ฅธ ์๋์ฐ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ SendMessage ์ PostMessage API๊ฐ ์์ต๋๋ค. ๋ API์ ์ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); BOOL PostMessageA( HWND hWnd, UINT Msg, WPA..
[MFC] lib, dll ํด๋์ ํ์ผ ๋ชฉ๋ก ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ
[MFC] lib, dll ํด๋์ ํ์ผ ๋ชฉ๋ก ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ
2019.05.25๊ฐ๋ ์ธ๋ถ Library๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด lib, dll ํ์ผ์ ํ๋ก์ ํธ ์ค์ ์ ์
๋ ฅํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ์.OpenCV์ ๊ฒฝ์ฐ์๋ ํ์ผ์ด ๋ช ๊ฐ์ง ์์ง๋ง, VTK์ ๊ฒฝ์ฐ์๋ ์ ์ญ๊ฐ์ ํ์ผ์ด ์กด์ฌํ๋ค ๋ณด๋ ์ผ์ผ์ด ์ค์ ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.๊ทธ๋์ ํด๋ ๋ด์ lib ํน์ dll ๋ชฉ๋ก์ ์ฝ๊ฒ ์ป๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฝ๋๋ค. 1. '์คํ > cmd'๋ฅผ ์
๋ ฅํฉ๋๋ค.(๋ฐ๋์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ์ธ์.) 2. lib ๋๋ dll ํด๋๋ก ์ด๋ํฉ๋๋ค.cd C:\Program Files (x86)\VTK\Debug\lib 3. ๋ค์์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํฉ๋๋ค.dir /b *.lib > list.txt 4. ์์ฑ๋ list.txt๋ฅผ ์ด์ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ผ ๋ชฉ๋ก์ด ๊ธฐ๋ก๋์ด ์์ต๋๋ค. ์ฐธ ๊ฐ๋จํ์ฃ ? ๋ชฉ๋ก์ ํต์งธ๋ก ๋ณต์ฌํ์ฌ ํ๋ก์ ํธ ..
[OpenCV] Visual Studio 2015์์ OpenCV 4.0.1 ์ฌ์ฉํ๊ธฐ
[OpenCV] Visual Studio 2015์์ OpenCV 4.0.1 ์ฌ์ฉํ๊ธฐ
2019.03.03๋น์ ๊ฒ์ฌ ์ฅ๋น ํ์ฌ๋ ๋น์ ๊ฒ์ฌ๋ฅผ ์ํด์ ๋น์ ์๊ณ ๋ฆฌ์ฆ(ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)์ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ๊ฒ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ๊ฐ๋ฐํ์ฌ ์ฌ์ฉํ๋ ํ์ฌ๋ ์๊ณ , ์์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์
ํ์ฌ ์ฌ์ฉํ๋ ํ์ฌ๋ ์์ต๋๋ค. ๋จธ์ ๋น์ ์ฐ์
์์ ์ฃผ์ ๋น์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ ๋ค์์ ์ ํ๋ค์ด ์์ต๋๋ค. โ MVTec Halcon โก Cognex Vision Pro โข Euresys Open eVision โฃ Matrox MIL ์์์ ์ธ๊ธํ ์ฃผ์ 4๊ฐ ์ ํ๋ค์ ๋ชจ๋ ์ ๋ฃ์
๋๋ค. ํ์ง๋ง ์ ๋ฃ์ธ ๋งํผ ์ฑ๋ฅ ๋ฐ ๊ธฐ์ ์ง์์ ์ํํ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ฉด์ OpenCV๋ Computer Vision ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ก, ์คํ ์์ค ํํ๋ก์ ๋๊ตฌ๋ ์ง ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ผ๋ถ ์์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ..
[GDI] ์ด๋ฏธ์ง์ ์์ง์ด๋ ์ง์ ๊ทธ๋ฆฌ๊ธฐ
[GDI] ์ด๋ฏธ์ง์ ์์ง์ด๋ ์ง์ ๊ทธ๋ฆฌ๊ธฐ
2019.03.02์ด๋ฏธ์ง์ ํน์ ํ(Row) ๋๋ ์ด(Column)์์ ํ๋กํ์ผ(Profile) ๋ฐ์ดํฐ๋ฅผ ํ๋ํ๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์์ต๋๋ค. ์ฃผ๋ก ์กฐ๋ช
๋๋ ์นด๋ฉ๋ผ์ ๊ท ์ผ๋, ์ด๋ฌผ ์ ๋ฌด ๋ฑ์ ๋ณด๊ธฐ ์ํจ์ธ๋ฐ์. ๋จ์ํ ์๋ํธ ์ปจํธ๋กค(Edit control)์ ๋ผ์ธ์ ์์น ๊ฐ์ ์
๋ ฅํด์ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์์ง๋ง, ์ฌ์ฉ์ ์
์ฅ์์๋ ์คํฌ๋กค๋ฐ ๋๋ ์ฌ๋ผ์ด๋ ์ปจํธ๋กค์ ์ด์ฉํ์ฌ ํ๋กํ์ผ ๋ผ์ธ์ ์์ง์ด๋ ๋ฐฉ๋ฒ์ด ๋์ฑ ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๊ณ ์ฌ๋ผ์ด๋ ์ปจํธ๋กค๋ก Vertical Line์ ์์ง์ด๋ ์์ ๋ฅผ ๋ณด์ฌ๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. โป ์์ ์ฝ๋๋ ํ๋จ์ ์ฒจ๋ถ๋์ด ์์ต๋๋ค. ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์๋ ๋งํฌ๋ฅผ ๊ผญ ์ฝ์ด์ฃผ์ธ์. [GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์๊ฐ [GDI] ๋๋ธ ๋ฒํผ๋ง(Double Bu..
[GDI+] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ
[GDI+] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ
2019.02.28๋๋ธ ๋ฒํผ๋ง์ ๋ํ ๋ด์ฉ์ ์๋ ๊ธ์ ์ฝ์ด์ฃผ์ธ์.[GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์๊ฐ ์ด๋ฒ์๋ GDI+ ๋๋ธ ๋ฒํผ๋ง ์ฌ์ฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. GDI ๋๋ธ ๋ฒํผ๋ง ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์. [GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ ๋ํ, GDI+๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ค๋น๋จ๊ณ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์. [GDI+] Part 1. GDI+ ์ค๋น ๋จ๊ณ ํ๋ก์ ํธ ์์ฑ ํ OnDrawImage()๋ผ๋ ํจ์์ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ฝ๋ ์ฌ์ฉ๋ฒ void CDoubleBufferingDlg::OnDrawImage() { // Picture Control DC๋ฅผ ์์ฑ. CClientDC dc(GetDlgItem(IDC_PC_IMAGE)); // Picture Co..
[GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ
[GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์ฌ์ฉํ๊ธฐ
2019.02.26๋๋ธ ๋ฒํผ๋ง์ ๋ํ ๋ด์ฉ์ ์๋ ๊ธ์ ์ฝ์ด์ฃผ์ธ์. [GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์๊ฐ ์ด๋ฒ์๋ GDI ๋๋ธ ๋ฒํผ๋ง ์ฌ์ฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. ํ๋ก์ ํธ ์์ฑ ํ OnDrawImage()๋ผ๋ ํจ์์ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.์ฝ๋ ์ฌ์ฉ๋ฒ void CDoubleBufferingDlg::OnDrawImage() { // Picture Control DC๋ฅผ ์์ฑ. // IDC_PC_IMAGE๋ Picture Control์ Resource ID. CClientDC dc(GetDlgItem(IDC_PC_IMAGE)); // Picture Control ํฌ๊ธฐ๋ฅผ ์ป๋๋ค. CRect rect; GetDlgItem(IDC_PC_IMAGE)->GetClientRect(&rect); CDC m..
[GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์๊ฐ
[GDI] ๋๋ธ ๋ฒํผ๋ง(Double Buffering) ์๊ฐ
2019.02.24์นด๋ฉ๋ผ์ ์ค์๊ฐ ์์๊ณผ ์ญ์ ์ (Crossline)์ ๊ฒน์ณ์(Overlay) ๊ทธ๋ฆฌ๋ ์์
์ ํด๋ณด์
จ๋์? Custom UI Control์ ๋ง๋ค๋ ์ค์, ์ปจํธ๋กค์ด ๊น๋นก์ด๋ ๊ฒฝํ์ ํด๋ณด์ ์ ์์ผ์ ๊ฐ์? ๋ฐ๋์๋ ์๋์ง๋ง ๋๋ถ๋ถ์ ๊น๋นก์ ํ์(Flicker)์ ๋๋ธ ๋ฒํผ๋ง(Double Buffering)์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ๊น๋นก์ ํ์์ด ์ ๋ฐ์ํ๋์ง ์๋ก ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์์ ๋ก, ์นด๋ฉ๋ผ ์์์ Overlay ์์
์ ๋๋ธ ๋ฒํผ๋ง์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค. โ ์นด๋ฉ๋ผ์ ์ค์๊ฐ ์์์ ๊ทธ๋ฆฐ๋ค. (์ฒซ ๋ฒ์งธ ํ๋ ์) โก ์ญ์ ์ ์ ๊ทธ๋ฆฐ๋ค. โข ์นด๋ฉ๋ผ์ ๋ค์ ์์์ ๊ทธ๋ฆฐ๋ค. (๋ ๋ฒ์งธ ํ๋ ์) โฃ ์ญ์ ์ ์ ๊ทธ๋ฆฐ๋ค. โค ๋ฐ๋ณต... ์์์ ๊ทธ๋ฆฌ๊ณ (Drawing), ๊ทธ ์์ ์ญ์ ์ ์ด ..
[GDI+] Part 2. ์๋ํจ์
[GDI+] Part 2. ์๋ํจ์
2019.01.27GDI+๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์๋ค๋ฉด ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํด ๋ณด๊ฒ ์ต๋๋ค. [GDI+] Part 1. GDI+ ์ค๋น ๋จ๊ณ ์ด์ ๊ธ์์ GDI๋ก ์ง์ , ์ฌ๊ฐํ, ์ํ์ ์์์ ์
ํ ๊ทธ๋ฆฌ๋ ์์
์ ์ค๋ช
ํ์์ต๋๋ค. [GDI] Part 2. ์๋ํจ์ #1 [GDI] Part 2. ์๋ํจ์ #2 ์ด๋ฒ ๊ธ์์๋ GDI+๋ก ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ง์ ๊ทธ๋ฆฌ๊ธฐGDI+๋ GDI์๋ ๋ค๋ฅด๊ฒ 'Graphics'๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ฆฌ๋ฉฐ, Graphics๋ CDC ๋ก๋ถํฐ ์์ฑํ ์ ์์ต๋๋ค. ์๋ ์ฝ๋๋ง ๋ณด์์ ๋ GDI๋ ๋น๊ตํ๋ฉด ๋ด์ฉ์ด ๊ฐ์ํ๋์ง์? // Picture control ์ผ๋ก๋ถํฐ DC ์ป๊ธฐ. CClientDC dc(GetDlgItem(IDC_PC_VIEW)); // DC ๋ก๋ถํฐ Graphics ์์ฑ. Graphic..
[GDI+] Part 1. GDI+ ์ค๋น ๋จ๊ณ
[GDI+] Part 1. GDI+ ์ค๋น ๋จ๊ณ
2019.01.27GDI+ ๋ GDI ์์ ํ์ฅ๋ ๊ฐ๋
์
๋๋ค. ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ฉ๋๋ค. [GDI] Part 1. GDI ๊ฐ๋
์ํฐ ์์ผ๋ฆฌ์ด์ฑ(Anti-Aliasing), ๋ ์ ์ฒ๋ฆฌ, ํฌ๋ช
๋ ๋ฑ ๋ณด๋ค ์ฝ๊ฒ ๋ง์ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ์์ GDI+๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ค๋น๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. stdafx.h ์ ๋ค์์ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. // stdafx.h #include #pragma comment(lib, "gdiplus.lib") using namespace Gdiplus; App header file์ ๋ค์์ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. // Project Name : My_GDIPlus class CMy_GDIPlusApp : public CWinApp { public: C..
[GDI] Part 2. ์๋ํจ์ #2
[GDI] Part 2. ์๋ํจ์ #2
2019.01.27์ด์ ํฌ์คํ
์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก '์ / ์ง์ฌ๊ฐํ / ์ํ'์ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ์ต๋๋ค. [GDI] Part 2. ์๋ํจ์ #1 ๊ณ์ํด์ ์์์ ์
ํ ๋ํ์ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค. ์์์ ์์ฑ์ ์ค์ ํ ์ ์๊ฒ ๋์์ฃผ๋ Object๋ค๊ณผ ๊ฐ์ด ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. PenPen์ ์ ์ ๊ทธ์ ๋ ์ฌ์ฉํฉ๋๋ค. Pen์๋ ์ ์ ๋ชจ์์ด๋ ์์์ ์ค์ ํ ์ ์์ต๋๋ค. MFC์์ Pen์ CPen ํด๋์ค๋ก ์ฌ์ฉํฉ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ค์์ ์์ ๋ก ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. // Picture control ์ผ๋ก๋ถํฐ DC ์ป๊ธฐ. CClientDC dc(GetDlgItem(IDC_PC_VIEW)); // ์์ฑํ myPen๊ณผ ์ฌ์ฉ์ค์ด๋ Pen ์์ฑ์ ๋ฐฑ์
ํ pOldPen์ ์ ์ํ๋ค. CPen myPen, *pOldPen; // ๋จ์..
[GDI] Part 2. ์๋ํจ์ #1
[GDI] Part 2. ์๋ํจ์ #1
2019.01.27์ , ์ , ์ฌ๊ฐํ, ์ํ, ๋ค๊ฐํ ๋ฑ์ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ํจ์๋ฅผ '์๋ํจ์'๋ผ๊ณ ์ ์ํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ , ์ฌ๊ฐํ, ์ํ, ์์์ ์
ํ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค. โป ๊ตฌ์ฒด์ ์ธ ํจ์์ ์ ์์ ์ค๋ฒ๋ก๋ฉ ํจ์๋ฅผ ํ์ธํ๋ ค๋ฉด MSDN์ ์ฝ์ด ๋ณด์๊ธธ ๊ถํด๋๋ฆฝ๋๋ค. ์ ๊ทธ๋ฆฌ๊ธฐ์ ์ ๊ตฌ์ฑํ๋ ์์๋ ๋ ์ ์
๋๋ค. ๋ ์ ์ด ์ด์ด์ ธ ํ๋์ ์ง์ ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ด์ฃ . ์๋์ฐ์์๋ ํ์ฌ์ ์ขํ๋ถํฐ ๋ชฉ์ ์ง์ ์ขํ๋ฅผ ์
๋ ฅํ์ฌ ์ง์ ์ ๊ทธ๋ฆด ์ ์์ต๋๋ค. ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. //ํ์ฌ์ ์์น๋ฅผ ์ด๋์ํค๊ธฐ. CPoint MoveTo(int x, int y); //ํ์ฌ์์น์์ ํน์ ์์น ๊น์ง ์ ์ ๊ธ๊ธฐ. BOOL LineTo(int x, int y); ์์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. // Picture control ์ผ๋ก๋ถํฐ DC ์ป๊ธฐ. ..
[GDI] Part 1. GDI ๊ฐ๋
[GDI] Part 1. GDI ๊ฐ๋
2019.01.27GDI(Graphics Device Interface)๋ Windows ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ๊ทธ๋ํฝ ์ถ๋ ฅ ๊ธฐ๋ฅ์
๋๋ค.๋ชจ๋ํฐ, ํ๋ฆฐํฐ ๋ฑ ์ถ๋ ฅ์ฅ์น์ ์ , ์ง์ , ๋ํ, ๋นํธ๋งต ๋ฑ์ ๊ทธ๋ํฝ ์ถ๋ ฅ์ ์ํด ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉํ ์ ์๋ ํจ์์ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค.์ฆ, ์ฌ์ฉ์๊ฐ ์ฅ์น๋ณ๋ก ์ด๋ป๊ฒ ์ถ๋ ฅ์ํฌ์ง ๊ณ ๋ฏผํ ํ์ ์์ด GDI๋ง ์ฌ์ฉํด์ ์ถ๋ ฅ์ํฌ ์ ์๊ฒ ์ ๊ณตํด์ฃผ๋ ๊ธฐ๋ฅ์
๋๋ค. ์ด GDI๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ์์, ๋๊ป, ์์น ๋ฑ์ ์ธ์ธํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค.์ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ํ, ๊ธ์, ๋นํธ๋งต๊น์ง ๋ค์ํฉ๋๋ค.ํ์ง๋ง ์ด๋ ๊ฒ ์์ธํ๊ฒ ์ ์ดํ ์ ์๋ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด, ์คํ๋ ค ์ผ์ผ์ด ์ค์ ํ๊ฒ๋๋ฉด ๋ถํธํ๊ฒ ๋์ง์. ๊ทธ๋์ DC(Device Context)๋ผ๋ ๊ฐ๋
์ด ๋ฑ์ฅํฉ๋๋ค.Windows Application ์..