2016-06-13 3 views
3

으로 리본에 탭을 동적으로 추가 Windows 리본 프레임 워크 및 C#을 사용하여 탭을 동적으로 추가 할 수있는 방법이 있는지 알고 싶습니다.Windows 리본 프레임 워크 및 C#

확장 가능한 응용 프로그램을 개발 중입니다. Managed Extensibility Framework를 사용하여 응용 프로그램이 발견 된 플러그인의 리본에 새 탭을 동적으로 설치하려고합니다.

나중에 플러그인을 추가하고 발견 할 수 있기 때문에 리본에 XML 마크 업을 사용할 수 없습니다.

런타임에 새 탭을 설치하는 방법이 있다면 새 탭을 리본 탭에 추가하고 설치된 탭의 버튼을 통해 해당 기능을 제공 할 수 있습니다.

전문가의 수행 방법에 관해 알려 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

이렇게 역동적 인 방법으로는 불가능하다고 생각합니다.

  • 는 응용 프로그램에서이 있고 IUIFramework::LoadUI를 사용하여 적절한 리소스를로드 할 수있는 플러그인의 각 조합에 대한 마크 업 리소스를 만듭니다 : 여기 두 가지 대안, 둘 다 아마 당신이 비록 의도를 참조하십시오. 이것은 물론 꽤 정적이고 따라서 플러그인 시스템의 아이디어와 모순됩니다.
  • 각 플러그인에 대해 "상황 별 탭"을 정의하십시오. 이러한 탭은 런타임 중에 동적으로 표시하거나 숨길 수 있습니다. 런타임 중에 새로운 문맥 탭을 만들 수 없으므로 다시 정적 솔루션이됩니다.

마찬가지로, 둘 다 문제에 대한 해결책은 아니지만 최소한 질문에 대한 답변입니다.

+0

감사합니다. Lemke. 처음에는 Excel이 추가 기능을 발견하고 새 탭으로 추가 할 수 있기 때문에 작동 할 것이라고 생각했습니다. 나는 당신이 제안한대로 대안을 시도 할 것입니다. –

+0

Excel/Office는 Windows 리본 프레임 워크를 사용하지 않지만 완전히 다른 UI 개념을 구현합니다. Office에서 사용되는 추가 기능 개념은 자신의 응용 프로그램에 맞게 다시 사용할 수 없습니다. –