2010-11-21 15 views
2

Ich möchte einige Steuerelemente auf der Titelleiste eines Dialogfelds platzieren. Eine mögliche Lösung hierfür ist, ich entferne einfach die Titelleiste aus dem Dialog und zeichne meine eigene Titelleiste.Zeichnen auf der Titelleiste in MFC

Aber wenn ich meine eigene Titelleiste zeichne, würde sich das Aussehen der Titelleiste nicht entsprechend dem Thema von Fenster ändern. Und ich würde mir auch die Mühe machen müssen, btns zu schließen, zu minimieren und zu maximieren.

Ich möchte fragen, ob es möglich ist, die Steuerelemente auf der Titelleiste zu zeichnen, die benutzerdefinierte Schaltflächen oder ein anderes Fenster sein können, ohne die gesamte Titelleiste zu zeichnen.

Vielen Dank im Voraus ..

Antwort

2

Kein Zweifel, Sie dies tun könnten, aber es ist fast sicher eine wirklich schlechte Idee zu tun damit. Die Benutzeroberfläche funktioniert gut, wenn sie vorhersehbar und konsistent ist. Wie werden Sie mit verschiedenen OS-Versionen umgehen, thematisierte/unthematische, zukünftige Versionen des Betriebssystems, die in der Art und Weise, wie sie Nicht-Client-Regionen malen, sehr unterschiedlich sein können. Programme, die ihr eigenes Ding machen, sind in der Regel nervig, zum Beispiel iTunes, Safari, QuickTime für Windows, die Sie glauben machen, dass Sie auf einem Mac laufen, oder Firefox 4 mit seinen bizarren Menüs. Ich empfehle dem System, den Nicht-Client-Bereich so zu zeichnen, wie es die Natur vorsieht, und die Benutzeroberfläche in den Client-Bereich zu bringen.

+0

Mit anderen Worten, Sie könnten Ihrem Dialog eine Symbolleiste hinzufügen, die alle gewünschten Steuerelemente hat, statt mit der Titelleiste zu verwirren. – AJG85

+0

Ich verstehe das Argument dieser Antwort, aber bitte werfen Sie einen Blick auf Office 2016 und Chrome, sie entsprechen dem OS Look and Feel, aber mit der Symbolleiste anders oder Färbung anders, es sieht nicht fremd zu dem Betriebssystem – MyDeveloperDay

+0

Richtig bis zu dem Punkt, an dem die nächste Version des Betriebssystems eine völlig andere Thematisierung verwendet. So etwas wie ein Browser mit Registerkarten hat keine andere Wahl, als benutzerdefiniert zu gehen, da das System keine integrierte Benutzeroberfläche bietet, um die Aufgabe zu erledigen. –

Verwandte Themen