Unter Windows 7 mit dem Aero-Design verfügt das Fenster " Einstellungen" von Notepad ++ über quadratische Ecken, kein Systemmenüsymbol, eine Schaltfläche zum Schließen und einen dunkleren Rahmen 1px
. Dieses Fenster hat auch ein AlwaysOnTop
Attribut.
(Ich habe das Fenster auf eine Breite von angepasst 640px
.)
Interessanterweise können Sie diesen Stil mit AutoHotkey in andere Fenster kopieren . Es scheint also, dass es keine schmutzigen Tricks gibt. Ich glaube jedoch, dass ich diesen Fensterstil nirgendwo anders gesehen habe.
Wird die Verwendung dieses Stils von Microsoft verurteilt? Hat dieser Fenstertyp einen Namen?
Für die Neugierigen: Normal vs "Square"
Antworten:
Es wird als Tool-Fenster (Balkenfenster) bezeichnet . Alle Fenster mit dem
WS_EX_TOOLWINDOW
erweiterten Stil werden ohne ein Systemmenü oder Felder zum Minimieren / Maximieren und eine kleine Titelleiste gerendert. In Windows XP und höher (die Designs unterstützen) werden Toolfenster normalerweise ohne abgerundete Ecken gerendert (zumindest mit den Standarddesigns).Dieser Stil wird normalerweise für Symbolleisten verwendet (Abbildung 1). Sie können es sehen, indem Sie eine Symbolleiste aus einem Programm ziehen, mit dem Sie die Symbolleisten neu anordnen können. Beachten Sie, dass es sich um ein Fenster handelt, das dem betreffenden Fenster ähnelt. Windows Explorer verwendet es auch für Deskbands (Abbildung 2), die im Grunde genommen dasselbe sind. Sie können diese anzeigen, indem Sie einen Ordner an einen der Bildschirmränder ziehen und dann die resultierende Symbolleiste / Deskband auf den Desktop ziehen.
Offensichtlich verwenden einige Programme den Stil für andere Zwecke, häufig um eine Art modalen, temporären Dialog zu erzeugen, der dem Hauptprogramm untergeordnet ist.
Hinweis: Dies hat einige Auswirkungen (die ersten beiden sind normalerweise die Gründe für die nicht standardmäßige Verwendung):
Abbildung 1: MSPaint-Symbolleistenfenster
Abbildung 2: Windows Explorer Deskband
quelle
Alt
+PrintScreen
erfasst nur den Dialog in Windows 7 mit dem Dialog Notepad ++ Preferences.Hier werden der Name dieses Fensterstils und die in .NET verfügbaren Optionen angegeben. Siehe @ Synetechs ausgezeichnete Antwort für den ursprünglichen Zweck dieses Fensterstils, die Gründe, aus denen es für ein solches Dialogfeld verwendet werden kann, und die Implementierung in nicht verwalteten Windows-Programmen wie Notepad ++.
Das Fenster hat quadratische Ecken und sieht so aus, weil sich einer der Designer / Programmierer von Notepad ++ für einen bestimmten Fensterstil entschieden hat. Synetech erläutert die Vorteile dieses Fensterstils.
In .NET / Visual Studio wird dies in der
FormBorderStyle
Eigenschaft derSystem.Windows.Forms.Form
Klasse festgelegt. Insbesondere ist es dasFixedToolWindow
. Die möglichen Werte sind in derSystem.Windows.Forms.FormBorderStyle
Aufzählung.Die
ToolWindow
s in .NET mit allen Werten funktionieren standardmäßig ein wenig anders als eine EbeneWS_EX_TOOLWINDOW
in der Windows-API, obwohl sie gleich aussehen. Bei Tests habe ich festgestellt , dass sie sich in der Taskleiste angezeigt werden und sie tun erscheinen auf dem Alt+ TabTask Switcher , wenn die Form EigenschaftShowInTaskbar
eingestellt istfalse
.ShowInTaskbar
Beeinflusst die Sichtbarkeit sowohl in der Taskleiste als auch in Alt+ TabfürToolWindow
s, jedoch nur für andere.In der Zwischenzeit ist es auch möglich, die Schaltflächen "Symbol" / "Minimieren" / "Wiederherstellen" / "Maximieren" aus den gebräuchlicheren Fensterstilen zu entfernen, obwohl es anscheinend nicht möglich ist, sie zu
ToolWindow
s hinzuzufügen . Es ist auch möglich, normale Fenster in der Taskleiste auszublenden.Der einzige funktionale Vorteil ist
WS_EX_TOOLWINDOW
, soweit ich das beurteilen kann, dass das Fenster nicht in Alt+ erscheint Tab.Ich habe einige Screenshots beigefügt, in denen die .NET-Fensterstile verglichen werden. Diese werden nicht direkt verwendet von Notepad ++, noch andere nicht verwaltete Programme, sondern werden von Microsoft genannt, so ...
Mögliche Werte von
FormBorderStyle
:Das erste Bild ist ein Screenshot des laufenden Programms mit aktiviertem Aero, das zweite ist aus der Sicht des Visual Studio-Designers (kein Aero).
Klicken Sie auf die Bilder, um die Vollversion zu sehen. Die
Beschreibungen stammen aus dem MSDN-Artikel zur
FormBorderStyle
Aufzählung.None
FixedSingle
Fixed3D
FixedDialog
Sizable
(Standard)FixedToolWindow
SizableToolWindow
quelle
WS_EX_TOOLWINDOW
Stil formatiert. .NET aliasiert einfachFixedToolWindow
anWS_EX_TOOLWINDOW
undSizableToolWindow
anWS_EX_TOOLWINDOW|WS_THICKFRAME
. Keine Beleidigung, aber diese Antwort beantwortet weder die Frage noch erklärt sie das gewünschte Verhalten. Es handelt sich lediglich um eine Liste / Ressource verschiedener in .NET verwendeter Fensterstile .Does this type of window have a name?
Dies wird zumindest aus Sicht eines .NET-Programmierers beantwortet. Und Erklärung? Weil der Programmierer Lust hatte, es zu benutzen. Sie haben möglicherweise gewünschte Effekte aufgelistet. Das ist alles. Ob es von MS empfohlen oder verurteilt wird, weiß ich nicht. Persönlich denke ich, dass Sie eine bewundernswerte Arbeit darin geleistet haben, es zu erklären.