GUI design guidelines/fr

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) 日本語 (ja) русский (ru)

General

Toutes les boîtes de dialogue et fenêtres ne doivent pas se limiter à des tailles fixes. Gardez à l'esprit que la taille des polices et les légendes (captions) traduites peuvent varier. Utilisez des diviseurs (splitters) et des panneaux (panels).

Toutes les fiches et les boîte de dialogue doivent marcher sur un écran de 800x600 ou une résolution plus élévée.

Boîtes de dialogue (fiche modale)

Elles sont des fiches particulières qui demandent à l'utilisateur de faire des réglages / modifier des données avant que l'application ne continue.

  • Elle se ferme sur Echappement (Escape) (si cette touche n'est pas prévue pour faire autre chose).
  • Elle définit un bouton par défaut et la touche Retour (Return) l'active (si la touche n'est pas utilisée autrement)
  • Si elle a du contenu défilable (p.ex. en contenant un TMemo, une TListBox, une TreeView), elle devrait être redimensionnable et la taille devrait être enregistrée.

Réglages de boîte de dialogue

Les réglages qui devraient être appliqués sont en général :

  • BorderStyle :
    • bsSizeable - si la boîte de dialogue est complexe et que le redimensionnement est vraiment nécessaire.
    • bsDialog - si la boîte de dialogue est simple et que le redimensionnement ne s'impose pas (Note : toutes les boîtes de dialogue devrait rester redimensionnables en interne pour des questions de localisation).
  • Position : poScreenCenter.
  • FormStyle : N'utilisez pas fsStayOnTop, car cela peut être assez ennuyeux sous certains gestionnaires de fenêtres.
  • BorderIcons:
    • [biSystemMenu] - pour les boîtes de dialogue montrées de façon modale.
    • [biSystemMenu,biMinimize,biMaximize] - pour les boîtes de dialogue non modales.

Dispositions générales

  • Dans le bas de la fiche, un Panneau de boutons devrait être placé.
  • La boîte de dialogue devrait s'afficher dans un écran de 800x600. Il n'est plus nécessaire de soutenir une résolution de 640x480.
  • Fermeture sur Echappement (Escape) si la touche n'est pas utilisée pour autre chose
  • Définir un bouton par défaut qui est activé par Retour (Return) si la touche n'est pas utilisée pour autre chose.
  • Eviter d'utiliser de longues légendes (captions) sur les boutons. Utiliser la propriété Hint pour expliquer l'action du bouton en détail.
  • La taille d'une fenêtre redimensionnable devrait être enregistrée et restaurée la prochaine fois que la boîte de dialogue sera ouverte.
  • Tous les conseils (Hint) et les légendes de la fiche devraient être sous la forme de chaînes de ressource (resourcestring), ainsi la localisation peut être mise en oeuvre.

Espacements et tailles

  • Les boîtes de dialogue doivent être conçues pour une résolution de 96 dpi et des fontes de 8 points / 14 pixel de haut.
  • Espacement entre les éléments : 6 pixels.
  • Taille minimale des boutons normaux : 90x25 pixels.
  • La propriété AutoSize nécessite d'être définie pour les boutons, les étiquettes (labels) afin qu'ils affichent proprement le texte localisé s'il plus long qu'attendu.
  • Tous les boutons dans un groupe (y compris les boutons qui contiennent des glyphes) doivent partager les mêmes largeur et hauteur. Utilisez un TPanel et définissez les propriétés Align and BorderSpacing.

Panneau de boutons

Le panneau de boutons devrait au moins contenir les éléments suivants :

  • bouton OK.
  • bouton Annuler.
  • Bouton Suivant (optionel).
  • Bouton Précédent (optionel).
  • Bouton d'appel de l'aide.

Anchoring

To make sure that a dialog after resizing will keep on showing the components in a good way, anchoring is being used. Each components has a property called Anchors. With this property you can determine the way a component is anchored to it's parent.

Hint: Use the anchor editor of the IDE.

Aligning

Another way to organise components is using alignment. Each component has a property Align. By selecting the appropriate align position several components can be positioned properly.

BorderSpacing

Especially useful in combination with Align is the BorderSpacing property. (Also found on the Anchors dialog). A typical borderspacing of 6 pixels around a component is used.