다음을 통해 공유


DrawStateW 함수(winuser.h)

DrawState 함수는 이미지를 표시하고 비활성 상태 또는 기본 상태와 같은 상태를 나타내기 위해 시각적 효과를 적용합니다.

구문

BOOL DrawStateW(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

매개 변수

[in] hdc

그릴 디바이스 컨텍스트에 대한 핸들입니다.

[in] hbrFore

fuFlags 매개 변수로 지정된 상태가 DSS_MONO 경우 이미지를 그리는 데 사용되는 브러시에 대한 핸들입니다. 이 매개 변수는 다른 상태에 대해 무시됩니다.

[in] qfnCallBack

이미지를 렌더링하는 데 사용되는 애플리케이션 정의 콜백 함수에 대한 포인터입니다. fuFlags의 이미지 형식이 DST_COMPLEX 경우 이 매개 변수가 필요합니다. 선택 사항이며 이미지 형식이 DST_TEXT 경우 NULL 일 수 있습니다. 다른 모든 이미지 형식의 경우 이 매개 변수는 무시됩니다. 콜백 함수에 대한 자세한 내용은 DrawStateProc 함수를 참조하세요.

[in] lData

이미지에 대한 정보입니다. 이 매개 변수의 의미는 이미지 형식에 따라 달라집니다.

[in] wData

이미지에 대한 정보입니다. 이 매개 변수의 의미는 이미지 형식에 따라 달라집니다. 그러나 DrawStateProc 함수에 사용하기 위해 0이 확장되었습니다.

[in] x

이미지를 그릴 수 있는 디바이스 단위의 가로 위치입니다.

[in] y

이미지를 그릴 디바이스 단위의 세로 위치입니다.

[in] cx

이미지의 너비(디바이스 단위)입니다. 이미지 형식이 DST_COMPLEX 경우 이 매개 변수가 필요합니다. 그렇지 않으면 이미지의 너비를 계산하는 것이 0일 수 있습니다.

[in] cy

이미지의 높이(디바이스 단위)입니다. 이미지 형식이 DST_COMPLEX 경우 이 매개 변수가 필요합니다. 그렇지 않으면 이미지의 높이를 계산하는 것이 0일 수 있습니다.

[in] uFlags

이미지 유형 및 상태입니다. 이 매개 변수는 다음 형식 값 중 하나일 수 있습니다.

값(형식) 의미
DST_BITMAP
이미지는 비트맵입니다. lData 매개 변수는 비트맵 핸들입니다. 비트맵을 기존 디바이스 컨텍스트로 선택할 수 없습니다.
DST_COMPLEX
이미지가 애플리케이션 정의됨 이미지를 렌더링하기 위해 DrawStatelpOutputFunc 매개 변수로 지정된 콜백 함수를 호출합니다.
DST_ICON
이미지는 아이콘입니다. lData 매개 변수는 아이콘 핸들입니다.
DST_PREFIXTEXT
이미지는 가속기 니모닉을 포함할 수 있는 텍스트입니다. DrawState 는 앰퍼샌드(&) 접두사 문자를 지시문으로 해석하여 다음 문자를 밑줄로 표시합니다. lData 매개 변수는 문자열에 대한 포인터이며 wData 매개 변수는 길이를 지정합니다. wData가 0이면 문자열이 null로 종료되어야 합니다.
DST_TEXT
이미지는 텍스트입니다. lData 매개 변수는 문자열에 대한 포인터이며 wData 매개 변수는 길이를 지정합니다. wData가 0이면 문자열이 null로 종료되어야 합니다.
 

이 매개 변수는 다음 상태 값 중 하나일 수도 있습니다.

값(상태) 의미
DSS_DISABLED
이미지를 구현합니다.
DSS_HIDEPREFIX
텍스트에서 앰퍼샌드(&) 접두사 문자를 무시하므로 뒤에 오는 문자는 밑줄이 표시되지 않습니다. DST_PREFIXTEXT 사용해야 합니다.
DSS_MONO
hbr 매개 변수로 지정된 브러시를 사용하여 이미지를 그립니다.
DSS_NORMAL
수정하지 않고 이미지를 그립니다.
DSS_PREFIXONLY
앰퍼샌드(&) 접두사 문자 뒤에 있는 문자 위치에 밑줄만 그립니다. 문자열에 텍스트가 그려지지 않습니다. DST_PREFIXTEXT 사용해야 합니다.
DSS_RIGHT
텍스트를 오른쪽으로 맞춥니다.
DSS_UNION
이미지를 디더링합니다.
 

DSS_NORMAL 제외한 모든 상태의 경우 시각적 효과가 적용되기 전에 이미지가 흑백으로 변환됩니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

설명

참고

winuser.h 헤더는 DRAWState를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

DrawStateProc

그리기 및 그리기 함수

그리기 및 그리기 개요