2017-02-23 1 views
-1

Visual C++로 MenuStrip을 사용자 정의해야합니다. ColorTable을 만들려고 시도했지만 클래스의 비가 상 메소드를 재정의 할 수 없다는 말을 듣고 있습니다. 속성을 무시할 수 없다는 다른 시도가 있습니다.Visual C++에서 MenuStrip 사용자 정의

저는 사무실에서 Windows 시스템을 사용하는 동안 Mac을 소유하고 있기 때문에 현재 일부 시도를 게시 할 수 없습니다.

+0

제발 더 이상 날은 내가을 downvoted되고있는 이유 말해 코멘트를 추가해야합니다 downvoting. –

+0

내 투표가 아니지만이 질문에는 적어도 두 가지 문제가 있습니다. 코드가 없으며 C++ 기본 사항에 어려움을 겪고있는 것으로 보입니다. – MSalters

+0

C++ 기본 사항에 어려움이 있다면 ColorTable을 만들지 않겠습니다. 나는 내가 어떤 오류를 겪고 있는지 알지 못한다. 나는 왜 오류가 발생하는지 보지 못한다. 일단 사무실에 있으면 코드를 추가 할 것입니다. –

답변

0

나는 마침내 그것을 알아 냈습니다.

주먹, 사용자 지정 ColorTable을 만듭니다. 예를 들어 :

public ref class MyCustomColorTable: public ProfessionalColorTable 
{ 
public: 
    property Color MenuBorder { 
     public: virtual Color get() override { 
      return Color::FromArgb(180, 180, 185); 
     }; 
    }; 
    property Color MenuItemBorder { 
     public: virtual Color get() override { 
      return Color::FromArgb(0, 0, 0, 0); 
     }; 
    }; 
    property Color ImageMarginGradientBegin { 
     public: virtual Color get() override { 
      return Color::FromArgb(0, 0, 0, 0); 
     }; 
    }; 
    property Color ImageMarginGradientMiddle { 
     public: virtual Color get() override { 
      return Color::FromArgb(0, 0, 0, 0); 
     }; 
    }; 
    property Color ImageMarginGradientEnd { 
     public: virtual Color get() override { 
      return Color::FromArgb(0, 0, 0, 0); 
     }; 
    }; 
    property Color ToolStripDropDownBackground { 
     public: virtual Color get() override { 
      return Color::FromArgb(248, 248, 248); 
     }; 
    }; 
}; 

둘째, 그런 다음 양식 onLoad 이벤트에서, 같은 것을 할 :

this->menuStrip->Renderer = gcnew ToolStripProfessionalRenderer(gcnew MyCustomColorTable()); 
관련 문제