2017-03-15 7 views
2

방금 ​​시작한 Windows Ribbon Framework for Delphi으로 시작했는데 Delphi에서 제공하는 사용자 정의 스타일을 활성화하면 양식의 클라이언트 영역 맨 위에 흰색 밴드가 나타납니다. (Project Options> Application> Appearance), Cyan Dusk 예 : Ribbon & Custom Style델파이 및 사용자 정의 스타일 용 Windows 리본 프레임

사용자 정의 스타일을 적용하지 않으면 흰색 밴드가 나타나지 않습니다. DevExpress 스킨을 사용할 때도 같은 동작을 보았습니다.

프레임 워크에 문제가 있습니까? Delphi XE4를 사용하고 있습니다.

감사합니다.

+0

스타일은 잘 구현되지 않았으며, 이전 버전에서는 더 좋지 않습니다. –

+0

@RRUZ는 스타일 전문가입니다. 그의 수정 및 확장 기능 중 일부는 [vcl-styles-utils] (https://github.com/RRUZ/vcl-styles-utils)에서 찾을 수 있습니다. –

+0

문제의 핵심은 VCL 스타일은 명시 적으로 스타일을 지정하는 컨트롤에만 스타일을 적용한다는 것입니다. 이것은 일반적으로 Delphi가 미리 패키지화 된 모든 컨트롤입니다. 그러나 타사 컨트롤에 반드시 적용되는 것은 아닙니다. 일부 타사 라이브러리 *는 스타일을 사용할 수도 있지만 리본은 독점적으로 스타일이 지정되어 있지 않습니다. 앞서 언급했듯이,'vcl-styles-utils' *는 리본을 고칠 수도 있습니다. –

답변

2

VCL 스타일은 Windows 리본 프레임 워크 또는 리본 UI를 지원하지 않습니다. 그러나 기술적으로 VCL 스타일과 동일한 UI에서 리본 UI를 사용할 수는 있지만 리본 UI가 사용되는 양식 (및 컨트롤)에서 스타일을 비활성화해야합니다.

+0

XE6부터 VCL Tribbon은 VCL 스타일에서 잘 작동합니다. 이미 몇 년 동안 함께 있습니다. – Vancalar

+0

XE6에서는 VCL 스타일과의 호환성이 향상되었지만 일부 컨트롤에서는 스타일을 비활성화하기 위해 'StyleElements' 속성으로 재생해야합니다. – RRUZ

+0

방금 ​​리본을 포함하고있는 폼의 StyleElements 속성을 가지고 놀았습니다. 특히 seBorder 값이 충돌로 나타납니다. 리본 메뉴가 포함 된 기본 양식을 사용하지 않도록 설정하고 내 응용 프로그램의 다른 모든 형식에 대해 스타일을 활성화 할 수 있으므로이 방법이 나에게 좋은 해결책이 될 수 있습니다. 감사! –