메시지 제어-색

제어 및 시스템 특정 브러시 및 색을 사용 하 여 컨트롤 또는 다른 창 배경을 그리는 대화 상자 프로시저를 원할 때 제어-색 메시지를 보낼 수 있습니다. 이 기능은 응용 프로그램 대화 상자와 해당 컨트롤에 사용 되는 기본 색상 재정의 하는 경우에 유용할 수 있습니다. 다음은 WM_CTLCOLOR 메시지를 대체 메시지 제어-색.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

컨트롤 자체 배경 페인트 하기 바로 전에 대화 상자 프로시저를 컨트롤 색 메시지를 보냅니다. 메시지는 사용 배경색과 전경색을 설정 하 고 브러쉬를 지정 하는 절차를 수 있습니다. 프로시저는 브러시 핸들을 반환 하 여 브러시를 지정 합니다. 배경색과 전경색을 설정 하는 절차를 사용 하는 SetBkColor 및 SetTextColor 기능 컨트롤의 디스플레이 장치 컨텍스트. 컨트롤 컬러 메시지 디스플레이 장치 컨텍스트 핸들 메시지의 wParam 매개 변수의 프로시저에 전달.

시스템 프로시저 WM_ERASEBKGND 메시지를 처리 하지 않는 경우 대화 상자 프로시저를 WM_CTLCOLORDLG 메시지를 보냅니다. 미리 정의 된 대화 상자 클래스 없는 클래스 배경 브러시 있으므로이 메시지 수 있도록 작업을 수행 하는 코드를 포함 하지 않고 배경 자체를 정의 하는 절차.

어떤 경우에, 대화 상자 프로시저는 제어-색 메시지를 처리 하지 않습니다, 경우 시스템 브러쉬 기본 창 색을 사용 하 여 모든 컨트롤과 스크롤 막대를 제외 하 고 windows에 대 한 배경을 그리는. 응용 프로그램 COLOR_WINDOW 값을 전달 하 여 기본 창 색을 검색할 수 있는 GetSysColor 함수. 배경에 색칠 하는 동안 디스플레이 장치 컨텍스트에 대 한 전경색이 기본 텍스트 색 (COLOR_WINDOWTEXT)으로 설정 됩니다. 스크롤 막대에 대 한 시스템 기본 스크롤 막대 색 (COLOR_SCROLLBAR) 하는 데 브러시를 사용 합니다. 이 경우 디스플레이 장치 컨텍스트에 대 한 배경색과 전경색을 설정 화이트와 블랙, 각각.

 

Index