24 votes

Pourquoi cette fenêtre a-t-elle des coins carrés ?

Sous Windows 7, avec le thème Aero, la fonction Préférences a des coins carrés, pas d'icône de menu système, un bouton de fermeture et une couleur plus sombre. 1px frontière. Cette fenêtre dispose également d'un AlwaysOnTop attribut.

notepad++
(J'ai redimensionné la fenêtre pour l'adapter à une largeur de 640px .)

Fait intéressant, vous pouvez copier ce style sur d'autres Windows en utilisant AutoHotkey . Il semblerait donc qu'il n'y ait pas d'entourloupe. Cependant, je ne pense pas avoir vu ce style de fenêtre ailleurs.

L'utilisation de ce style est-elle condamnée par Microsoft ? Ce type de fenêtre a-t-il un nom ?


Pour les curieux : Normal vs. "Carré

normal   calculator

37voto

Ben Collins Points 11318

C'est ce qu'on appelle un Fenêtre de l'outil (barre) . Tous les Windows qui ont le WS_EX_TOOLWINDOW Le style étendu sera rendu sans menu système ou boîtes de minimisation/maximisation, et une petite barre de titre. Dans Windows XP et les versions ultérieures (qui prennent en charge les thèmes), les fenêtres d'outils sont généralement affichées sans coins arrondis (du moins avec les thèmes par défaut).

Ce style est généralement utilisé pour les barres d'outils (Figure 1). Vous pouvez le voir en faisant glisser une barre d'outils à partir d'un programme qui vous permet de réorganiser les barres d'outils. Remarquez qu'elle devient une fenêtre qui ressemble à celle en question. L'Explorateur Windows l'utilise également pour les sous-bandes (Figure 2), ce qui revient au même. Vous pouvez les voir en faisant glisser un dossier vers l'un des bords de l'écran, puis en faisant glisser la barre d'outils/bandeau de bureau qui en résulte vers le bureau.

Il est évident que certains programmes utilisent ce style à d'autres fins, souvent pour créer une sorte de dialogue modal, temporaire, qui est un enfant du programme principal.

Remarque : cela a plusieurs effets (les deux premiers étant généralement les plus importants). raisons pour son utilisation non standard) :

  • Une fenêtre/dialogue avec ce style n'a pas de bouton dans la barre des tâches.
  • Il empêche Alt + Tab bing au dialogue
  • Il empêche également le Alt + PrtScr de capturer uniquement la boîte de dialogue ; toute la fenêtre du programme parent est capturée.

Figure 1 : Fenêtre de la barre d'outils MSPaint

enter image description here

Figure 2 : Bandeau de bureau de l'Explorateur Windows

enter image description here

17voto

Bob Points 58080

Ceci détaille le nom de ce style de fenêtre et les options disponibles dans .NET ; voir l'excellente réponse de @Synetech pour l'objectif initial de ce style de fenêtre, les raisons pour lesquelles il peut être utilisé pour une telle boîte de dialogue et l'implémentation dans des programmes Windows non gérés tels que Notepad++.


La fenêtre a des coins carrés et ressemble à cela parce que l'un des concepteurs/programmeurs de Notepad++ a décidé d'utiliser un style de fenêtre spécifique. Synetech détaille les avantages de ce style de fenêtre.

Dans .NET/Visual Studio, ce paramètre est défini dans le champ FormBorderStyle de l System.Windows.Forms.Form classe. Plus précisément, il s'agit de la FixedToolWindow . Les valeurs possibles sont dans le System.Windows.Forms.FormBorderStyle énumération.

Le site ToolWindow dans .NET avec toutes les valeurs par défaut fonctionnent un peu différemment d'un simple WS_EX_TOOLWINDOW dans l'API Windows, bien qu'ils se ressemblent. En effectuant des tests, j'ai déterminé qu'ils faire apparaissent dans la barre des tâches et ils faire apparaissent sur le Alt + Tab le commutateur de tâches, sauf si la propriété du formulaire ShowInTaskbar が設定されます。 false . ShowInTaskbar affecte la visibilité à la fois dans la barre des tâches et Alt + Tab pour ToolWindow mais seulement la barre des tâches pour les autres.

Entre-temps, il est également possible de supprimer les boutons icône/minimiser/restaurer/maximiser des styles de fenêtre les plus courants, mais il ne semble pas possible de les ajouter à l'option ToolWindow s. Il est également possible de masquer les fenêtres normales de la barre des tâches.

Le seul avantage fonctionnel WS_EX_TOOLWINDOW offre, pour autant que je puisse dire, est que la fenêtre n'apparaît pas en Alt + Tab .


J'ai inclus quelques captures d'écran comparant les styles de fenêtres .NET. Ceux-ci ne sont pas directement utilisés par Notepad++, ni par d'autres programmes non gérés, mais sont nommé par Microsoft, donc...

Valeurs possibles de FormBorderStyle :

La première image est une capture d'écran du programme en cours d'exécution avec Aero activé, la seconde provient de la vue du concepteur de Visual Studio (sans Aero).
Cliquez sur les images pour les versions en taille réelle
Les descriptions sont tirées du Article de MSDN sur le FormBorderStyle énumération.

  • None

    Pas de frontière.

Screenshot_Aero Screenshot_NonAero

  • FixedSingle

    Une bordure fixe, d'une seule ligne.

Screenshot_Aero Screenshot_NonAero

  • Fixed3D

    Une frontière fixe et tridimensionnelle.

Screenshot_Aero Screenshot_NonAero

  • FixedDialog

    Une bordure épaisse et fixe de style dialogue.

Screenshot_Aero Screenshot_NonAero

  • Sizable (par défaut)

    Une bordure redimensionnable.

Screenshot_Aero Screenshot_NonAero

  • FixedToolWindow

    Une bordure de fenêtre d'outil qui n'est pas redimensionnable. Une fenêtre d'outils n'apparaît pas dans la barre des tâches ou dans la fenêtre qui s'affiche lorsque l'utilisateur appuie sur la touche ALT + TAB . Bien que les formulaires qui spécifient FixedToolWindow ne sont pas affichés dans la barre des tâches, vous devez également vous assurer que l'option ShowInTaskbar a pour valeur false puisque sa valeur par défaut est true .

Screenshot_Aero Screenshot_NonAero

  • SizableToolWindow

    Une bordure de fenêtre d'outil redimensionnable. Une fenêtre d'outils n'apparaît pas dans la barre des tâches ou dans la fenêtre qui apparaît lorsque l'utilisateur appuie sur la touche ALT + TAB .

Screenshot_Aero Screenshot_NonAero

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X