반응형
=======================
=======================
=======================
MFC에서 Dialog의 기본 배경색은 회색이므로.. 그리고 다른 컨트롤들도 배경색이 구리다.
바꾸는법
클래스 위저드실행해서 메시지탭에서
WM_CTLCOLOR의 메시지 맵을 추가 한다.
그러면 자동적으로
HBRUSH Cxxxxxx::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 가 생성됨.
거기에 코딩..
이런식으로 원하는 컨트롤의 색상만 변경할수도 있다.
XP테마의 버그라고 한다. 해결 방법은 #pragma comment(lib, "UxTheme.lib") 를 추가하고, 다이얼로그 초기화(Initdialog)에서 SetWindowTheme(컨트롤변수.m_hWnd, L"", L""); 를 추가 해준다. 컨틀롤과 브러시는 아래와 같이 정의되어 있습니다. #define CTLCOLOR_MSGBOX 0 #define CTLCOLOR_EDIT 1 #define CTLCOLOR_LISTBOX 2 #define CTLCOLOR_BTN 3 #define CTLCOLOR_DLG 4 #define CTLCOLOR_SCROLLBAR 5 #define CTLCOLOR_STATIC 6 #define CTLCOLOR_MAX 7 #define WHITE_BRUSH 0 #define LTGRAY_BRUSH 1 #define GRAY_BRUSH 2 #define DKGRAY_BRUSH 3 #define BLACK_BRUSH 4 #define NULL_BRUSH 5 #define HOLLOW_BRUSH NULL_BRUSH #define WHITE_PEN 6 #define BLACK_PEN 7 #define NULL_PEN 8 #define OEM_FIXED_FONT 10 #define ANSI_FIXED_FONT 11 #define ANSI_VAR_FONT 12 #define SYSTEM_FONT 13 #define DEVICE_DEFAULT_FONT 14 #define DEFAULT_PALETTE 15 #define SYSTEM_FIXED_FONT 16 출처 : http://phiru.tistory.com/73 출처 : http://uglytree.tistory.com/144 |
=======================
=======================
=======================
반응형
'프로그래밍 관련 > MFC' 카테고리의 다른 글
MFC - Dialog 파일을 읽거나 저장할때 파일창 띄우기 (0) | 2017.10.12 |
---|---|
MFC - CFileDialog 주의사항. 프로그램의 자신경로 설정변경으로 인한 오류참고 (참고 키워드 MFC, LoadImage, 리턴, 리턴값, 0x00000000, NULL, CFileDialog) (0) | 2017.10.12 |
[MFC] OnSize 이벤트 발생 시키기 (0) | 2017.08.01 |
[MFC] OnSize 관련 (0) | 2017.07.25 |
[MFC] 다이얼로그 소멸 순서 (0) | 2017.07.25 |