none
Static Text 컨트롤의 색을 바꾸러면?? RRS feed

  • 질문

  • Static Text 컨트롤의 색을 동적으로 바꾸어 주고 싶습니다. 

    예을 들어

    1버튼을 클릭하면 Static Text 컨트롤의 색을 파란색으로

    2버튼을 클릭하면 Static Text 컨트롤의 색을 빨간색으로...

    어떻게 해야하나요?

    2012년 6월 25일 월요일 오전 2:26

답변

  • WM_CTLCOLOR 메시지를 활용하시면 됩니다. OnCtlColor 에 컨트롤 색상을 명시할때, 고정된 색상값을
    사용하지 마시고 CBrush 와 COLORREF 를 사용해서 변수를 만들고 해당 변수를 사용하신다면
    버튼을 눌렀을때, CBrush 객체의 정보나 COLORREF 에 기록된 색상값을 수정하여 원하는 작업을 하실수 있습니다.
    그리고 컨트롤에 Invalidate 를 사용하면 해당 컨트롤이 갱신을 위해서 WM_CTLCOLOR 을 발생하기 때문에
    색상 정보 수정후에 "해당컨트롤".Invalidate(); 를 하는것만 잊지 않으시면 됩니다.

     

    아래에 링크해드린 자료를 참고해보세요~ 이 자료는 스태틱 컨트롤 자체를 눌러서 변경하는것인데, 이 루틴을
    버튼으로 옮긴다면 이야기 하시는 상황이 될듯하네요.

    http://www.tipssoft.com/bulletin/tb.php/update/486


    2012년 6월 25일 월요일 오전 2:51
    중재자