본문 바로가기

무작정 따라해보기(정리, 문제풀기)/Win32API

15. [WIN32 API 프로그래밍] 문자열 출력(그래픽)

728x90

 

'나우캠퍼스X아워즈팜'유튜브의 'Win32 API 4강. 그래픽 (3/3)'영상을 보고 정리한 내용입니다.

 

문자열 색 바꾸는 함수

  • SetTextColor()
    이 함수 이후 출력되는 모든 문자열의 색을 바꾸는 함수이다.
    COLORREF SetTextColor( HDC hdc, COLORREF cColor );
  • SetBkColor()
    이 함수 이후 출력되는 모든 문자열의 배경색을 바꾸는 함수이다.
    COLORREF SetBkColor( HDC hdc, COLORREF cColor );

 

InvalidateRect()

  • 화면의 일부 또는 전체 영역(클라이언트 영역)을 다시 그릴 때 사용된다.
    (영역 설정 - 화면 일부: RECT구조체 사용, 화면 전체: 0또는 NULL)
  • WM_PAINT 메시지를 발생시킨다. 그래서 BeginPaint()함수와 EndPaint()함수와 안에 있는 내용을 실행시켜준다. 
  • 화면의 일부 영역을 무효화 영역 또는 업그레이트 영역이라고 한다.
  • BOOL InvalidateRect( HWND hWnd, const RECT * lpRect, BOOL bErase );
  • bErase가 TRUE이면 지우고 다시 그린다. FALSE이면 지우지 않고 계속 겹쳐서 그린다.

 

출력

  • 출력을 하기 위해서는 GDI 모듈을 사용한다. 
  • GDI 모듈은 os가 관리하는 것이기 때문에 DC라는 것을 얻어서 그것을 통해 출력을 한다.
  • DC는 화면DC, 프린트DC 등으로 나누어져있다. 
  • DC를 얻기 위한 함수를 제공하는데 GetDC, BeginDC를 제공한다(DC해제 함수: ReleaseDC, EndDC)
  • DC는 핸들로 받는다.

 

혹시 제가 잘못 이해한 부분이(잘못된 정보) 있다면 알려주시면 감사하겠습니다. :)