2013-02-21 5 views
0

Windows OS 용 Embarcadero VCL C++ IDE를 사용하여 GUI 응용 프로그램을 개발 중입니다. 이 프로젝트의 일환으로 외부 상태와 관련하여 버튼의 색상을 변경해야합니다. windows32 API가 버튼의 색상을 변경할 수 없다는 것을 이해했습니다. 버튼 색상을 변경하는 방법을 알려주십시오.버튼 색상을 변경하는 방법은 무엇입니까?

+0

당신이 일하는 API를 사람들이 알 수 있도록 이것을 winapi 또는 태그로 태그 할 수 있습니다. – Cornstalks

답변

0

단추의 배경색이나 텍스트 색을 변경 하시겠습니까?

Windows에서 시각적 테마를 사용하고 있으므로 commctrl을로드하고 매니페스트 파일을 포함하면 버튼이 기본 (현재) 테마를 사용하여 그려집니다.

옵션은 (a) 배경 맞춤형 그리기 (b) 일반 그리기 과정에서 텍스트 색상 변경 (c) 테마없이 버튼 그리기 (즉, '평면'버튼 그리기)를 볼 수 있습니다.

버튼의 상태에 따라 비트 맵을 변경하여 비트 맵 버튼을 간단히 그릴 수 있습니다. 상태에 따라 HSL 또는 HSV 색상 공간을 사용하여 단일 비트 맵을 색칠 할 수도 있습니다.

평평한 유형의 버튼은 표준 그리기 과정 중에 개입하고 3D_FACE에서 색상을 변경하여 텍스트 색상을 변경할 수있는 것과 거의 같은 방식으로 배경색을 변경할 수 있다고 생각합니다. (또는 그것이 무엇이든, 나는 잊는다) 무엇이든 당신이 원할 것입니다.

Windows XP에 포함 된 계산기를 보면 텍스트 색상을 변경하는 예를 볼 수 있습니다.

CodeProject.com에는이 작업에 도움이되는 기사가 포함되어있을 가능성이 큽니다. :)

+0

제안 해 주셔서 감사합니다. – srvolatile

+0

버튼의 바탕색 (텍스트가 아님)을 변경하고 싶습니다. 작은 색의 비트 맵을 만들어 비트 맵 단추에 표시하려고했습니다. 그러나이 비트 맵 이미지는 전체 버튼을 포함하지 않습니다. 나는 너의 제안을 살펴볼 것이다. 귀하의 회신에 다시 한번 감사드립니다. – srvolatile

관련 문제