버튼이 눌렀을 때, 버튼의 스킨을 변경하고 싶은데 바로 변경되지 않는다.

그래서 사용한 방법이

1. 버튼이 눌렀을 때, 버튼을 비활성화 시킨다. 

2. 변경한 버튼 스킨 비트맵을 로드하고 버튼 사이즈를 비트맵에 맞춘다. 

3. 버튼을 활성화 시킨다.

장점으로 버튼만 다시 그리기 때문에 깜박임 현상이 없고, 버튼 스킨이 변경되기 전에 버튼이 눌리는 걸 방지할 수 있다.



다중 쓰레드 환경의 쓰레드 함수 내부에서 다이얼로그의 UpdateData()를 사용하게 되면 에러가 발생한다. 
쓰레드 함수에서 메세지를 송신하고, 다이얼로그 내부 함수에서 메세지를 수신하여 UpdateData()를 실행하면 된다.
 



1. 리소스 뷰에서 사용할 비트맵 이미지를 추가하고 ID를 부여 

2. 버튼 속성의 Owner Draw 를 True로 설정

3. 이미지를 입힐 버튼의 컨트롤 변수를 설정 (* CBitmapButton 형으로 선언)
 




리소스 뷰에서 다이얼로그 속성 -> 글꼴 (맨위) -> Font(Size) 변경


Static Text의 배경 색을 설정하였으나, 글자가 없는 부분의 배경 색이 바뀌지 않아서 다음과 같이 글자 뒤에 하얀색이 남는 현상이 발생했다.

배경을 투명으로 바꾸거나, ID_STATIC의 크기를 얻어서 배경을 검은색으로 칠하는 등의 노력을 해봤으나, 바뀌지 않았다.

원시적으로 리소스 뷰에서 Static Text의 크기를 하나하나 글자에 맞춰서 줄이니 문제가 해결 되었다.


*다른 해결 방법이 있으면 알려주세요.


+ Recent posts