En Windows 7 con el tema Aero, la ventana de Preferencias de Notepad ++ tiene esquinas cuadradas, ningún ícono del menú del sistema, un botón de cierre y un 1px
borde más oscuro . Esta ventana también tiene un AlwaysOnTop
atributo.
(Cambié el tamaño de la ventana para que se ajuste a un ancho de 640px
).
Curiosamente, puede copiar este estilo a otras ventanas usando AutoHotkey . Entonces, parece que no hay trucos sucios involucrados. Sin embargo, no creo haber visto este estilo de ventana en ningún otro lugar.
¿Está usando este estilo condenado por Microsoft? ¿Este tipo de ventana tiene un nombre?
Para los curiosos: Normal vs "Cuadrado"
Respuestas:
Se llama una ventana de herramientas (barra) . Cualquier ventana que tenga el
WS_EX_TOOLWINDOW
estilo extendido se representará sin un menú del sistema o cuadros de minimizar / maximizar, y una pequeña barra de título. En Windows XP y versiones posteriores (que admiten temas), las ventanas de herramientas generalmente se representan sin esquinas redondeadas (al menos con los temas predeterminados).Este estilo se usa generalmente para barras de herramientas (Figura 1). Puede verlo arrastrando una barra de herramientas fuera de un programa que le permite reorganizar las barras de herramientas. Tenga en cuenta que se convierte en una ventana que se parece a la que está en cuestión. Windows Explorer también lo usa para las bandas de escritorio (Figura 2), que son básicamente lo mismo. Puede verlos arrastrando una carpeta a uno de los bordes de la pantalla, luego arrastre la barra de herramientas / banda de escritorio resultante al escritorio.
Obviamente, algunos programas usan el estilo para otros fines, a menudo como una forma de crear una especie de diálogo modal y temporal que es un elemento secundario del programa principal.
Nota: esto tiene un par de efectos (los dos primeros de los cuales generalmente son las razones de su uso no estándar):
Figura 1: ventana de la barra de herramientas de MSPaint
Figura 2: banda de escritorio de Windows Explorer
fuente
Alt
+PrintScreen
captura solo el cuadro de diálogo en Windows 7 con el cuadro de diálogo Preferencias de Notepad ++.Esto detalla el nombre de este estilo de ventana y las opciones disponibles en .NET; vea la excelente respuesta de @ Synetech para el propósito original de este estilo de ventana, las razones por las que puede usarse para dicho cuadro de diálogo y la implementación en programas de Windows no administrados como Notepad ++.
La ventana tiene esquinas cuadradas y se ve así porque uno de los diseñadores / programadores de Notepad ++ decidió usar un estilo de ventana específico. Synetech detalla las ventajas de ese estilo de ventana.
En .NET / Visual Studio, esto se establece en la
FormBorderStyle
propiedad de laSystem.Windows.Forms.Form
clase. Específicamente, es elFixedToolWindow
. Los valores posibles están en laSystem.Windows.Forms.FormBorderStyle
enumeración.Los
ToolWindow
s en .NET con todos los valores predeterminados funcionan de manera un poco diferente de un planoWS_EX_TOOLWINDOW
en la API de Windows, aunque se ven iguales. Con las pruebas, he determinado que no aparecen en la barra de tareas y que no aparecen en el Alt+ Tabconmutador de tareas a menos que la propiedad de formularioShowInTaskbar
se establece enfalse
.ShowInTaskbar
afecta la visibilidad tanto en la barra de tareas como en Alt+ TabparaToolWindow
s, pero solo en la barra de tareas para otros.Mientras tanto, también es posible eliminar los botones de icono / minimizar / restaurar / maximizar de los estilos de ventana más comunes, aunque no parece posible agregarlos a
ToolWindow
s. También es posible ocultar ventanas normales de la barra de tareas.La única ventaja funcional que
WS_EX_TOOLWINDOW
ofrece, por lo que puedo decir, es que la ventana no aparece en Alt+ Tab.He incluido algunas capturas de pantalla que comparan los estilos de ventana .NET. Estos no son utilizados directamente por Notepad ++, ni otros programas administrados, pero son nombrados por Microsoft, así que ...
Posibles valores de
FormBorderStyle
:La primera imagen es una captura de pantalla del programa en ejecución con Aero habilitado, la segunda es de la vista del diseñador de Visual Studio (no Aero).
Haga clic en las imágenes para ver las versiones a tamaño completo. Las
descripciones se toman del artículo de MSDN sobre la
FormBorderStyle
enumeración.None
FixedSingle
Fixed3D
FixedDialog
Sizable
(defecto)FixedToolWindow
SizableToolWindow
fuente
WS_EX_TOOLWINDOW
estilo. .NET simplemente aliasFixedToolWindow
toWS_EX_TOOLWINDOW
ySizableToolWindow
toWS_EX_TOOLWINDOW|WS_THICKFRAME
. Sin ofender, pero esta respuesta en realidad no responde a la pregunta ni explica el comportamiento que se hace, es simplemente una lista / recurso de diferentes estilos de ventana utilizados en .NET.Does this type of window have a name?
Responde tanto, al menos desde la perspectiva de un programador .NET. Y explicacion? Porque el programador tenía ganas de usarlo. Has enumerado los posibles efectos deseados. Eso es todo. Ya sea que MS lo recomiende o lo condene, no tengo idea. Personalmente, creo que has hecho un trabajo admirable al explicarlo.