Windows (컨트롤 6.0)에서 정의한 테마에 따라 컨트롤을 표시 할 수 있도록 Delphi 6 응용 프로그램의 매니페스트 파일을 만들었습니다.TBitBtn은 레거시 Windows 테마 만 사용하여 표시합니다.
동작이 더 이미지가 할당되지 않은 경우에도 관계없이 현재 테마, 윈도우 XP 및 Windows 7에서 동일 : 모든 기존 테마를 사용하여 표시됩니다 TBitBtn
구성 요소를 제외하고, 잘 보인다 TBitBtn
구성 요소.
이제 일반 TButton
구성 요소를 양식에 배치하면 OK가 표시됩니다. 그런 다음 런타임에 프로그래밍 방식으로이 단추에 이미지를 설정하면 (SendMessage(Handle, BM_SETIMAGE, IMAGE_ICON, LPARAM(Icon))
사용) 즉시 스타일을 기존 단추로 되돌립니다.
TBitBtn
을 올바른 스타일로 사용하거나 TButton
에 글리프를 표시하려면 Delphi 6의 레거시 스타일로 되돌리지 않고 말합니까?
내가 (또는'BS_ICON' 스타일을 설정하지 않고) WINXP와 BM_SETIMAGE' '에 의지하지 않을 것입니다. 예상대로 작동하지 않습니다! Win7에서는 문제가 없어야합니다. – kobik
당신 말이 맞아요 - 그것은 캡션을 제거했지만 이미지를 표시하고 스타일을 되돌 렸습니다. WM_SETICON이 작동하지 않았습니다. – adlabac