Computer/WINAPI 32

1. 윈도우 프로그래밍, 기본 입출력, 제어 메시지

에린_1 2023. 1. 17. 21:42
728x90

윈도우 프로그래밍

  • 윈도우 SDK - 윈도우 API로 구현한 라이브러리나 헤더파일
  • 윈도우 프로그램 특징
    • GUI기반 프로그램
    • 이벤트 기반 프로그램 - 윈도우가 이벤트를 감지하고 메시지를 보내면 윈도우 프로그램이 수신한 메시지에 따라 반응한다.
    • 멀티쓰레드 기반 프로그램
  • 윈도우 프로그램 메시지 처리과정
    1. 이벤트 발생
    2. 이벤트 감지
    3. 이벤트 전송 - 정수값 메시지가 큐에 쌓인다.
    4. 윈도우 프로그램 - 큐에서 메시지를 꺼내고 메시지 처리함수로 보낸다.
    5. 메세지 처리 - 메시지를 받아 반응
  • 윈도우 프로그램의 기본구조
    • 메인부분에서 윈도우 클래스를 생성 및 등록, 등록된 윈도우 클래스를 기반으로 윈도우 생성
    • 윈도우에서 발생한 메시지는 메시지 큐에 저장되고 메시지 처리 부분이 하나씩 처리
    • 메시지 처리부분은 처리할 메시지에 대해서만 작성, 나머지 메시지 처리는 윈도우 커널에서 일임

기본 입출력

  • DC(Device Context) - 출력을 위해 얻어온 화면 영역
  • GetDC() 함수로 DC를 얻어와 출력, ReleaseDC()함수를 호출해 출력을 했음을 알림
  • 멀티바이트 문자 집합 사용 - 한글은 2바이트 저장, 영문자와 특수문자는 1바이트 저장
  • 유니코드 문자집합 사용 - 한글, 영문자, 특수문자 모두 2바이트에 저장
  • TCHAR - 프로젝트 속성에서 설정된 문자집합에 따라 문자열 처리하는 부분을 멀티바이트 또는 유니코드로 자동변경

제어 메시지 처리

  • 마우스에서 발생하는 메시지
    • WM_LBUTTONDOWN,WM_LBUTTONIP 등
    • LOWORD(lParam), HIWORD(lParam) - 마우스 포인터 x,y 위치 얻어올 때 사용
    • SetROP2() - 윈도우에 그림을 그릴 때 배경새ㅐㄱ과 그리는 색 사이에 수행할 연산 지정
  • 래스터 연산
    • XOR연산 - 흰색 XOR 흰색 = 검은색 , 검은색 XOR 흰색 = 흰색
728x90

'Computer > WINAPI 32' 카테고리의 다른 글

3. MDI, 파일 입출력  (0) 2023.01.19
2. 윈도우 메뉴, 단축키와 비트맵, 대화상자 컨트롤  (2) 2023.01.18