일부 단추 컨트롤을 사용하여 대화 상자 창을 만들고 있습니다. 단추를 개별적으로 색칠하고 싶습니다. 나는 내가 사용해야한다고 생각하는 것을 찾았고 발견했다, WM_CTLCOLORBTN Message.브러시, Win32 C++ 핸들을 얻는 방법
반환 값은 "브러쉬 핸들"이어야합니다. 나는 붓을 만들 수 있습니다
이 같은 예를 들어 :HBRUSH blueBrush=CreateSolidBrush(RGB(0,255,0));
하지만 내가 어떻게이 브러시 핸들을 반환합니까?
편집 : 내 메시지 처리 기능은
LRESULT CALLBACK ClientDlgProc(...)
로 정의하고 내가 blueBrush를 반환하려고하면이 오류 얻을 :
오류 C2440를 '반환'에 'HBRUSH'에서 변환 할 수 없습니다를 'LRESULT'
누군가 내 버튼을 채우는 더 좋은 방법을 알고 있다면 알려 주시기 바랍니다. – Moberg
아래 답변은 정확하지만 여기에 누출이 있습니다. HBRUSH를 대화 상자의 수명 동안 어딘가에 저장하고 나중에 DestroyObject()를 저장해야합니다. 일반적으로 WM_INITDIALOG에서 생성되고 WM_DESTROY에서 삭제됩니다. – ymett
나는 아직까지 그렇게까지 얻지 못했다. ^^ ' – Moberg