관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

GetSysColor 본문

API 관련/Win32 API 함수

GetSysColor

님투 2007. 11. 8. 22:55
반응형

GetSysColor

지정된 시스템 칼라(각각의 디스플레이 요소로 현재 사용되고 있는 색)를 취득합니다.

DWORD GetSysColor(
    int nIndex   // 시스템 칼라의 인덱스
);

USER32.DLL

인수

nIndex

색을 취득하는 디스플레이 요소를 지정합니다.이하의 몇개의 값을 지정합니다.

정수명 의미
COLOR_SCROLLBAR 0 스크롤 바의 축의 색
COLOR_BACKGROUND,
COLOR_DESKTOP
1 데스크탑의 색
COLOR_ACTIVECAPTION 2 액티브 윈도우의 타이틀 바의 색

Windows 98/2000 이상: 그라데이션 유효의 경우는 액티브 윈도우의 타이틀 바의 좌측의 색

COLOR_INACTIVECAPTION 3 비활성 윈도우의 타이틀 바의 텍스트의 색

Windows 98/2000 이상: 그라데이션 유효의 경우는 비활성 윈도우의 타이틀 바의 좌측의 색

COLOR_MENU 4 메뉴의 배경색
COLOR_WINDOW 5 윈도우의 배경색
COLOR_WINDOWFRAME 6 윈도우의 테두리의 색
COLOR_MENUTEXT 7 메뉴내의 텍스트의 색
COLOR_WINDOWTEXT 8 윈도우내의 텍스트의 색
COLOR_CAPTIONTEXT 9 액티브 윈도우의 타이틀 바의 텍스트의 색
COLOR_ACTIVEBORDER 10 액티브 윈도우의 경계의 색
COLOR_INACTIVEBORDER 11 비활성 윈도우의 경계색
COLOR_APPWORKSPACE 12 MDI (멀티 문서 인터페이스) 어플리케이션의 배경색
COLOR_HIGHLIGHT 13 컨트롤내에 있어서의 선택된 항목의 색
COLOR_HIGHLIGHTTEXT 14 컨트롤내에 있어서의 선택된 항목의 텍스트의 색
COLOR_BTNFACE,
COLOR_3DFACE
15 3D 오브젝트의 표면색
COLOR_BTNSHADOW,
COLOR_3DSHADOW
16 3D 오브젝트의 그림자의 색 (광원의 반대 방향의 연용)
COLOR_GRAYTEXT 17 엷은 색 상태 (무효 상태) 의 텍스트의 색
COLOR_BTNTEXT 18 푸쉬 버튼의 텍스트의 색
COLOR_INACTIVECAPTIONTEXT 19 비활성 윈도우의 타이틀 바의 텍스트의 색
COLOR_BTNHIGHLIGHT,
COLOR_3DHIGHLIGHT,
COLOR_3DHILIGHT,
COLOR_BTNHILIGHT
20 3D 오브젝트의 가장 밝은 색 (광원 방향의 연용)
COLOR_3DDKSHADOW 21 3D 오브젝트의 어두운 그림자의 색
COLOR_3DLIGHT 22 3D 오브젝트가 밝은 색 (광원 방향의 연용)
COLOR_INFOTEXT 23 툴 팁 컨트롤의 텍스트의 색
COLOR_INFOBK 24 툴 팁 컨트롤의 배경색
COLOR_HOTLIGHT 26 Windows 98/2000 이상: 핫 트럭 아이템의 색
COLOR_GRADIENTACTIVECAPTION 27 Windows 98/2000 이상: 그라데이션 유효의 경우는 액티브 윈도우의 타이틀 바의 우측의 색
COLOR_GRADIENTINACTIVECAPTION 28 Windows 98/2000 이상: 그라데이션 유효의 경우는 비활성 윈도우의 타이틀 바의 우측의 색
COLOR_MENUHILIGHT 29 Windows XP 이상: 메뉴가 플랫 메뉴로서 표시될 때 메뉴 아이템을 하이라이트 표시하는데 사용되는 색

하이라이트 표시된 메뉴 아이템은 COLOR_HIGHLIGHT 그리고 지정되는 색으로 윤곽이 그려집니다.

COLOR_MENUBAR 30 Windows XP 이상: 메뉴가 플랫 메뉴로서 표시될 때의 도구모음의 배경색

다만, pop-up menu의 배경색 지정에는 COLOR_MENU 하지만 사용됩니다.

반환값

함수가 성공하면, 지정된 요소의 색을 나타낸다 RGB 값이 돌아갑니다.

nIndex 파라미터에 현재의 플랫폼이 서포트하지 않는 값을 지정하면 0 하지만 돌아갑니다.다만, 0 (은)는 유효한 RGB 값이기 위해, 지정된 값이 현재의 플랫폼에서 서포트되고 있는지 어떤지를 판단하는데 GetSysColor 함수를 사용할 수 없습니다.대신에, GetSysColorBrush 함수가 0 (NULL) (을)를 돌려줄지로 판단합니다.

해설

시스템 칼라의 브러쉬를 사용해 묘화 하는 경우에는, CreateSolidBrush 함수로 브러쉬를 작성하는 것은이 아니고, GetSysColorBrush 함수를 사용해 취득한 브러쉬를 사용해야 합니다. GetSysColorBrush 함수는 캐쉬되고 있는 브러쉬를 돌려줍니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

GetVersionEx(A)  (0) 2007.11.08
GetSysColorBrush  (0) 2007.11.08
GetStockObject  (0) 2007.11.08
GetSaveFileName(A)  (0) 2007.11.08
GetParent  (0) 2007.11.08
Comments