XP에서 투명 글꼴 컨트롤을 위한 Bug
1733 단어 sdkWM_CTLCOLOREDITSetBkMode
현상: Edit 컨트롤 처리 WMCTLCOLOREDIT는 색상을 변경합니다. 문제는 SetBkMode가 투명하게 설정된 후 컨트롤이 문자를 삭제할 때 바로 리셋할 수 없고 잔류합니다.
해결 방법 1: 자해, Microsoft.Windows.Common-Controls가 다음과 같은 코드를 삭제했습니다.
#if defined _M_IX86
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
해결 방법 2: 투명을 포기하고 위조 투명을 사용하십시오. 만약 배경이 순수한 색이라면 SetBkColor를 사용하면 됩니다.
해결 방법 3: XP가 감지되면 WMCTLCOLOREDIT 브러시로 돌아가기 전에 FillRect/Rectangle로 발라주세요...아니면 WMERASEBKGND, 물론 이 방법의 전제는 WMERASEBKGND의 처리는 스스로 바르는 것이다. 리턴 트루 한마디면 아무것도 하지 않은 것과 같다.
참고: 같은 비극의 한 묘사:http://zhidao.baidu.com/question/9749770.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
라이브 스트림 SDK iOS 빌드 앱 사용 방법점점 더 많은 회사들이 라이브 스트리밍 시장의 급속한 발전 추세를 보여주는 자체 iOS 라이브 스트림 SDK를 출시했습니다. 이는 2019년 21억 6000만 명에서 증가한 수치입니다. 라이브 스트리밍 산업의 지속적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.