[[프로그래밍_NOTE]]/Window Programing

윈도우즈 API의 동적 DLL 中 GDI(Graphic Device interface) , DC(Device Context)

갑빠돌격기 2009. 1. 13. 09:29
1. Kernel
2. USER
3. GDI   (Graphic Device Interface)
   ▶ DC (DeviceContext ) : 출력에 필요한 모든 정보를 가지는 데이터 구조
                                     : GDI 오브젝트를 모아 놓은 것
   ▶ Ex) LineTo(hDc , X , Y) - 선을 긋기 위한 정보들을 모두 모아 DC라는 구조체를 만들고
                                             LineTo함수는 X,Y값 이외에도 DC핸들을 넘겨받아
                                             그 값을 사용한다.
                                             (그리기 함수들이 참조하는 원점의 정보
                                              (스크린,윈도우 좌표)등의 정보도 제공한다.
   ▶ DC를 얻는 방법 2가지
      1. HDC GetDC(HWND hWnd);
          int ReleaseDC(HWND hWnd , HDC hDC);
          ex) HDC hdc
                hdc = GetDC(hWnd);
                /* 각종 출력문에서 hdc를 사용 */
                ReleaseDC(hWnd , hdc)
      2. HDC hdc;
         PAINTSTRUCT ps;
         case WM_PAINT:
                  hdc = BeginPaint(hWnd , &ps);
                  /* 각종 출력문에서 hdc를 사용 */
                  EndPaint(hWnd , &ps);
         ( BeginPaint는 WM_PAInT메시지 내에세 그림 그리기 준비를 하는
            좀더 전문적인 함수이되 , 그 외의 메시지에서는 절대로 사용불가)