쑤쑤_CS 기록장
[TIPS 20기]12. Windows 프로그래밍 두번째 강좌 정리 본문
<CPen에서 점선이 제대로 출력되지 않는 경우 (선 두께가 1이 아님)>
https://blog.naver.com/tipsware/100209389382
오류 해결 : 쓰기용으로 열수없다는 에러는 실행프로그램 .exe.exe 꺼주시고 컴파일해주시면됩니다.
https://blog.naver.com/tipsware/221120557339
* GDI
GDI / 그래픽 장치 인터페이스(Graphic Device Interface)
선 그리기, 컬러 관리와 같은 그래픽 함수들을 구현하는 일을 담당하는 윈도의 구성요소.
디스플레이, 프린터, 기타 장치에 대한 그래픽 출력을 위하여 응용 프로그램이 사용할 수 있는 함수와 그에 관련된 구조를 제공한다. 이를 이용하여 직선, 곡선, 다각형, 텍스트, 비트맵(bitmap) 이미지를 구현할 수 있다.
논리적인 그래픽 하드
* DC
정보 공유 메모리
펜 / (도화지=)비트맵 / 브러쉬 / (글꼴=)폰트
프로그램 별 그림그리는 작업 수행 정보 : 테이블(셋팅된 값)로 정보 공유
-> GDI : 가상 그래픽 서비스 장치
GDI OBJECT : GDI에서 가상 그래픽 그릴때 쓰는 장치. 펜, 비트맵, 브러쉬, 폰트 등
프로세스 영역에 메모리 할당
+) release 용어 : 더이상 쓰지 않겠다는 의미
* 실습
마우스가 클릭되었다 wm_lbuttondown
사각형 그리는 작업
DC 정보 얻기
w param : 마우스 클릭 시 조합 정보다 들어가있음
l 32비트. 16비트 y좌표 16비트 x좌표
정보 꺼내와서 조합 - 프로그램 만들기
바꾼다 : select
펜을 계속 create 하고 해제하지 delete object
않으면 메모리 할당으로 누적되어 운영체제가 죽을 수 있음
* 펜 색 변경법 : 펜 만들기 - select object - 바꿈 - select objct복구 - 만든거 delete object
구조체를 쓰는 이유? 함수의 단점인 인자가 달라지면 변화에 대처할 수 없다는 문제를 잡아줌. 매개변수 잡아줄 수 있다.
invalid area 에 있던 것을 valid area 로 바뀌면 윈도우즈 운영체제가 체크하여, 그 영역에 대해 다시 그리라고 wPaint 메세지를 보내줌. 이때 메세지 플랙으로 관리
사실 이 부분 부터는 필기와 정리 보다는 소스 코드를 구현하는 부분에 집중을 둬서 블로그 글이 아쉽네요.
이곳의 댓글을 통해 동일한 내용의 정리를 볼 수 있습니다.
https://blog.naver.com/tipsware/221463897906
'IT 지식 기록 > TIPS - C 언어 수업 정리' 카테고리의 다른 글
[TIPS 20기] 김성엽 선생님의 수업을 마치며 (0) | 2019.05.30 |
---|---|
[TIPS 20기]13-15. MFC 강좌 정리 (0) | 2019.05.30 |
[TIPS 20기]11. Windows 프로그래밍 첫번째 강좌 정리 (0) | 2019.05.30 |
[TIPS 20기]10. C++언어 세번째 강좌 정리 (0) | 2019.05.30 |
[TIPS 20기]9. C++언어 두번째 강좌 정리 (0) | 2019.02.14 |