[GDI] Part 1. GDI ๊ฐ๋
GDI(Graphics Device Interface)๋ Windows ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ๊ทธ๋ํฝ ์ถ๋ ฅ ๊ธฐ๋ฅ์ ๋๋ค.
๋ชจ๋ํฐ, ํ๋ฆฐํฐ ๋ฑ ์ถ๋ ฅ์ฅ์น์ ์ , ์ง์ , ๋ํ, ๋นํธ๋งต ๋ฑ์ ๊ทธ๋ํฝ ์ถ๋ ฅ์ ์ํด ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉํ ์ ์๋ ํจ์์ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฆ, ์ฌ์ฉ์๊ฐ ์ฅ์น๋ณ๋ก ์ด๋ป๊ฒ ์ถ๋ ฅ์ํฌ์ง ๊ณ ๋ฏผํ ํ์ ์์ด GDI๋ง ์ฌ์ฉํด์ ์ถ๋ ฅ์ํฌ ์ ์๊ฒ ์ ๊ณตํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ด GDI๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ์์, ๋๊ป, ์์น ๋ฑ์ ์ธ์ธํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค.
์ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ํ, ๊ธ์, ๋นํธ๋งต๊น์ง ๋ค์ํฉ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์์ธํ๊ฒ ์ ์ดํ ์ ์๋ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด, ์คํ๋ ค ์ผ์ผ์ด ์ค์ ํ๊ฒ๋๋ฉด ๋ถํธํ๊ฒ ๋์ง์.
๊ทธ๋์ DC(Device Context)๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํฉ๋๋ค.
Windows Application ์์ ํ๋ฉด์ถ๋ ฅ์ ์ํ ์ถ๋ ฅ ์์ฑ์ ์ ์ํ๋ ๊ตฌ์กฐ์ฒด ์ ๋๋ค.
๊ธฐ๋ณธ ์ต์ ๊ฐ์ผ๋ก ์ถ๋ ฅ์ด ๊ฐ๋ฅํ๊ณ , ์ต์ ์ ๋ณ๊ฒฝํ์ฌ ์ธ๋ฐํ๊ฒ ์ ์ดํ์ฌ ์ถ๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ด DC๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ MFC์์๋ CDC Class ์์ DC์ ๊ดํ ๊ฒ์ ์ ์ํด ๋์์ต๋๋ค.
ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก CDC ํด๋์ค๋ฅผ ์ง์ ์ฌ์ฉํ๊ธฐ ๋ณด๋ค๋ CDC ํ์ ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
CDC ํ์ ํด๋์ค๋ก๋ ๋ค์์ 4์ข ๋ฅ๊ฐ ์์ต๋๋ค.
CClientDC
WM_PAINT ๋ฉ์์ง๋ฅผ ์ ์ธํ ์๋์ฐ์ ์์ ์์ญ์ ์ถ๋ ฅํ ๋ ์ฌ์ฉ.
GetDC() / ReleaseDC() ํจ์๋ฅผ ํฌํจ.
CPaintDC
WM_PAINT ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ํด๋์ค.
OnPaint / OnDraw ๋ด์์ ์ฌ์ฉ.
BeginPaint() / EndPaint() ํจ์๋ฅผ ํฌํจ.
CWindowDC
์ ์ฒด ์๋์ฐ ์์ญ(ํ์ดํ๋ฐ, ๋ฉ๋ด๋ฐ ๋ฑ์ ํฌํจ)์์ ์ฌ์ฉ.
CMetaFileDC
๋ฉํํ์ผ๋ก ์ถ๋ ฅํ ๋ ์ฌ์ฉ.
Win32 API ์์ DC๋ฅผ ์ป์ผ๋ฉด ํด์ ํ๋ ์์ ๋ ํด์ค์ผ ํ๋ ๊ฒ์ด ์ ์์ ๋๋ค.
(GetDC() ์ RelaseDC()๋ฅผ ํตํด DC๋ฅผ ์ป๊ณ ํด์ ํฉ๋๋ค.)
ํ์ง๋ง MFC์์ ํ์ํด๋์ค์ธ CClientDC ์๋ ์ด ํจ์๋ฅผ ํฌํจํ์ฌ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ํด์ ์์ ์ด ํ์์์ต๋๋ค.
๊ทธ๋์ Picture Control์ ๋นํธ๋งต์ด๋ ์นด๋ฉ๋ผ์ ์์, Overlay ์์ ๋ฑ์ ํ ๋ CClientDC๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค.
์, ์ฌ๊ธฐ๊น์ง GDI์ ๊ฐ๋ ๊ณผ ์ด๋ฅผ ์ํ DC, CDC๋ฅผ ์์๋ณด์์ต๋๋ค.
๋ค์ ํฌ์คํ ์์๋ ์ , ์ , ์ฌ๊ฐํ, ์ํ, ๋ค๊ฐํ ๋ฑ์ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ํจ์์ธ '์๋ํจ์'๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค.
'Programming > MFC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GDI+] Part 1. GDI+ ์ค๋น ๋จ๊ณ (0) | 2019.01.27 |
---|---|
[GDI] Part 2. ์๋ํจ์ #2 (0) | 2019.01.27 |
[GDI] Part 2. ์๋ํจ์ #1 (0) | 2019.01.27 |
[MFC] Custom Button ๋ง๋ค๊ธฐ (5) | 2019.01.16 |
[MFC] Custom Button ์๊ฐ (0) | 2019.01.15 |
[Button Control] ๋์ ์์ฑ (11) | 2017.06.25 |
[Button Control] ์ ์ ์์ฑ (0) | 2017.06.04 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[GDI] Part 2. ์๋ํจ์ #2
[GDI] Part 2. ์๋ํจ์ #2
2019.01.27 -
[GDI] Part 2. ์๋ํจ์ #1
[GDI] Part 2. ์๋ํจ์ #1
2019.01.27 -
[MFC] Custom Button ๋ง๋ค๊ธฐ
[MFC] Custom Button ๋ง๋ค๊ธฐ
2019.01.16 -
[MFC] Custom Button ์๊ฐ
[MFC] Custom Button ์๊ฐ
2019.01.15