2017-02-23 1 views
-1

Ich muss einen MenuStrip mit Visual C++ anpassen. Ich habe versucht, eine ColorTable zu erstellen, aber es hat mir gesagt, dass ich eine nicht-virtuelle Methode einer Klasse nicht überschreiben kann, bei anderen Versuchen sagt es mir, dass ich Eigenschaften nicht überschreiben kann.Anpassen von MenuStrip in Visual C++

Ich kann derzeit einige meiner Versuche nicht veröffentlichen, da ich einen Mac besitze, während ich ein Windows-System im Büro verwende.

+0

Bitte mehr Downvoting mir einen Kommentar hinzufügen sollte, mir zu sagen, warum ich bin downvoted wird. –

+0

Nicht meine Stimme, aber es gibt mindestens zwei Probleme mit dieser Frage: kein Code, und es scheint, dass Sie auch mit C++ Grundlagen kämpfen. – MSalters

+0

Wenn ich mit den Grundlagen von C++ zu kämpfen habe, werde ich keine ColorTable erstellen. Ich weiß, welchen Fehler ich bekomme. Ich sehe nicht, warum ich den Fehler bekomme. Ich werde einige Codes hinzufügen, sobald ich im Büro bin. –

Antwort

0

Ich habe es endlich selbst herausgefunden.

Fist, erstellen Sie eine benutzerdefinierte ColorTable. Zum Beispiel:

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); 
     }; 
    }; 
}; 

Zweitens Dann in Ihren Formularen onLoad Ereignis, etwas tun, wie folgt aus:

this->menuStrip->Renderer = gcnew ToolStripProfessionalRenderer(gcnew MyCustomColorTable()); 
Verwandte Themen