본문 바로가기

Study Memos/Windows Programming

SelectObject 함수 (Section 33)

 

참고> blog.naver.com/tipsware/220988055352

 

1. SelectObject 함수: DC에 저장된 GDI Object의 핸들 값을 변경할 때 사용

2. DC의 특정 GDI Object를 기존 것과 다르게 사용하고 싶은 경우 SelectObject 함수로 GDI Object를 교체해서 사용하면 됨

3. Bitmap은 SelectObject 함수로 교체할 경우 'Memory DC' 에서만 교체할 수 있음.
=> GetDC() 함수를 통해 얻은 DC의 경우에는 Bitmap 객체가 출력장치와 직접 관련이 있기 때문에 교체 불가능

4. SelectObject 함수가 성공할 경우 기존 GDI Object의 핸들값을 반환하고, 실패할 경우 NULL을 반환함

5. HGDIOBJ 자료형은 HBITMAP, HPEN, HBRUSH, HFONT 자료형을 모두 포괄하는 자료형
=> HBRUSH 형의 변수를 HGDIOBJ 형의 변수에 캐스팅 없이 바로 할당 가능 
ex)  HBRUSH brush;
HGDIOBJ gdi_obj = brush;

=> HGDIOBJ 형의 변수를 HBRUSH 형의 변수에 할당하려면 캐스팅 반드시 해야 함
ex)  HGDIOBJ gdi_obj;
HBRUSH brush = (HBRUSH) gdi_obj;

=> HBITMAP, HPEN, HFONT 자료형들도 마찬가지

'Study Memos > Windows Programming' 카테고리의 다른 글

GetStockObject 함수 (Section 35)  (0) 2020.10.12
CreatePen 함수 (Section 34)  (0) 2020.09.23
WM_MOVING (Section 32)  (0) 2020.09.23
WM_CLOSE (Section 31)  (0) 2020.09.18
ValidateRect 함수 (Section 29)  (0) 2020.09.18