메시지 제어-색

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