mfc cbitmapbutton 예제
  • 02
  • 08

나는 NT와 Win2K에서 개발 한 프로그램을 업데이트하는 중간에 있었고, 나는 프로그램 전반에 걸쳐 CBitmapButton을 사용했다. XP에서 실행하는 프로그램의 새 버전을 통해 이식 할 때, 나는 VC ++ 7에서 내 “이전”비트 맵 버튼이 스타일 인식되지 않은 것으로 나타났습니다, 응용 프로그램은 약간 일자 보이게했다. 웹에서 검색 호버 버튼의 다른 몇 가지 예에 내 관심을 가져, 하지만 고려 CBitmapButton내 투자를했다 아무도. 이전 앱에 연결할 수 있는 CBitmapButton 파생 클래스를 원했습니다. 이것은 내가 여기에 제출 한 첫 번째 기사입니다, 그래서 내 산문을 실례합니다. UXTHEME를 사용. DLL, 나는 이완 구의 예 프로젝트에서 발견으로. 새 CTheme 클래스를 만들었습니다. 원하는 경우 WTL CTheme 클래스를 사용할 수 있습니다. 그러나, 난 그냥 내 목적에 적합한 하나를 만들었습니다. 가장자리 그리기를 포함하는 주식 CBitmapButton 클래스에서 사용한 것과 동일한 비트맵으로 시작해야 합니다. XP 스타일 버튼의 경우 흰색 배경으로 이전 단추 비트맵을 만들거나 복사할 수 있습니다.

예를 들어, 나는 버튼을 했다 : (directU.bmp), 그리고 XP 스타일의 경우, 나는 새로운 비트 맵을 만들었습니다 : (xpdirectU.bmp). 이전 스타일의 경우 F, X 및 D 비트맵도 가지고 있었습니다. XP 스타일의 경우, 난 단지 당신과 X 비트 맵이 필요했다. 나는 또한 같은 자원을 명명 – 나는 문자 XP와 함께 새로운 XP 스타일의 자원 이름을 접두사 제외. 이는 CHoverBitmapButton 클래스가 XP와 클래식 스타일 비트맵을 구분하는 데 중요합니다. 공용 함수 CHoverBitmapButton::SetPrefix()를 사용하여 접두사를 직접 설정하거나 기본값을 사용할 수 있습니다. 또한 CBitmapButtonImpl은 “순수한” 비트맵 버튼이며 Windows 텍스트 처리를 하지 않습니다. 제공하는 이미지에 텍스트를 그려야 합니다.

이 문서의 “단추 이미지 만드는 방법” 섹션을 참조하십시오. 프로그램 외부에서 시작된 비트맵을 표시하는 예제 프로그램을 보았습니다. 이제 화면에서 부드러운 동작을 지원하기 위해 자체 비트맵을 생성하는 예제 프로그램이 표시됩니다. 원칙은 간단합니다 : 선택한 비트맵으로 메모리 장치 컨텍스트를 그린 다음 비트맵을 화면에 zap합니다.

Comments (0)

Leave a reply

Should you ever have a question, please dont hesitate to send a message or reach out on our social media.