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

  • Dialogs must be designed for 96 dpi resolution and 8 points/14 pixels font height.
  • Spacing between elements: 6 pixels.
  • Minimum size of regular buttons: 90x25 pixels.
  • AutoSize property need to be set for buttons to properly display localized text if it is longer than expected.
  • All buttons in a group (including buttons that contain glyphs) must have the same width and height.

Panneau de boutons

The button panel should consist at least of the following elements:

  • OK button.
  • Cancel button.
  • Next button (optional).
  • Previous button (optional).
  • Help button.

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.