2022. 12. 18. 20:46ㆍ개인공부/Win32API
Win32API를 이용하여 프로그램 창에 사각형 그림을 그리고 이동시키는 공부를 하였다.
위의 message 값에 W_PAINT 값이 들어올때 실행을 한다.
UNIT 에 들어오는 정보의 형태 의미한다.
wParam 은 키보드 입력, lParam 은 마우스 입력을 의미한다.
switch(message) 에 WM_PAINT 가 입력되어
case 구문이 실행된다.
처음에 기본으로 설정되어있는 펜은 검정색에 브러쉬는 하얀색이다.
펜을 변경하기 위해서는 HPEN 이라는 구조체를 이용하면 된다
CreatePen 함수는 CreatePen 함수(wingdi.h) - Win32 apps | Microsoft Learn
를 검색하면 정보가 나오는데 win32api 의 경우에는 구현되어있는 코드를
사용하기때문에 모든정보를 아는 것이 아닌 검색을 활용해서 프로그래밍
하는 방식인거 같다.
함수의 첫번째 인자는 펜의 종류를 선택하고, 2번째는 굵기 (pixel 단위이다.) 3번째는 색상을나타낸다.
컴퓨터 내에서 RGB 의 각각 색깔을 0~255로 나타내어 색깔을 채우는 방식으로 색을 조합하여 만든다.
CreatePen 함수의 반환타입은 HPEN이다.
그다음으로는 SelectObject를 이용하여 첫번째인자는 어디에 정보를 받는지와 , 2번째는 전달해줄 정보이다
SelectObject 의 반환타입은 기존의 사용하던 HPEN이므로 따로 저장해둔다.
Rectangle 함수는 사각형을 그려준다.
hdc 의 내에 꼭지점 4개의 값을 입력해주면 그점을 따라서 사각형을 그려준다.
그후에는 사용했던 펜을 다시 기본펜으로 되돌려주고
다 쓴펜의 메모리를 함수를 통해서 해제해준다.
wParam 에 키보드 입력을 값을 구분해주어서
위에 만든 사각형을 이동하는 방식이다.
중간에 InvalidateRect 함수는 무효화 영역을 지정해주는 함수로
이함수가 없으면 사각형이 움직이지 못한다.
'개인공부 > Win32API' 카테고리의 다른 글
Object (0) | 2022.12.25 |
---|---|
KeyManager (2) | 2022.12.24 |
TimeManager (0) | 2022.12.23 |
공부 정리 (0) | 2022.12.21 |
PeekMessage (0) | 2022.12.19 |