Aller au contenu principal
Version: 20 R6 BETA

Séparateur

Un séparateur divise un formulaire en deux zones. Il permet à l’utilisateur d’agrandir ou de réduire chaque zone en le déplaçant. Un séparateur peut être horizontal ou vertical. Il tient compte des propriétés de redimensionnement des objets, ce qui permet de personnaliser entièrement l’interface. Un séparateur peut être “pousseur” ou non

L’utilisation type du séparateur est le formulaire de sortie dans lequel les colonnes peuvent être redimensionnées :

Les caractéristiques générales des séparateurs sont les suivantes :

  • Vous pouvez placer autant de séparateurs que vous voulez dans tout type de formulaire. De même, il est possible de mêler des séparateurs horizontaux et verticaux dans un même formulaire.
  • Un séparateur peut traverser un objet. Celui-ci sera redimensionné lors du déplacement du séparateur.
  • Les butées des séparateurs sont calculées de manière à ce que les objets déplacés restent entièrement visibles dans le formulaire ou ne passent pas sous/à côté d’un autre séparateur. Lorsque la propriété Pousseur est associée à un séparateur, son déplacement vers la droite ou vers le bas ne rencontre pas de butée.
  • Les redimensionnements effectués dans les formulaires à l’aide des séparateurs ne sont conservés que durant l’affichage du formulaire. Une fois le formulaire refermé, les dimensions initiales sont restaurées.

Une fois inséré, un séparateur se présente sous la forme d’un trait. Vous pouvez modifier son style de bordure afin d’obtenir un trait plus ou moins épais, ou modifier sa couleur.

Exemple JSON :

"mySplitter": {
"type": "splitter",
"left": 60,
"top": 160,
"width": 100,
"height": 20,
"splitterMode": "move" //pusher
}

Propriétés prises en charge

Border Line Style - Bottom - Class - Height - Help Tip - Horizontal Sizing - Left - Line Color - Object Name - Pusher - Right - Top - Type - Vertical Sizing - Variable or Expression - Visibility - Width

Interaction avec les propriétés des objets environnants

Dans un formulaire, les séparateurs interagissent sur les objets qui les entourent suivant les options de redimensionnement de ces objets :

Options de redimensionnement du ou des objet(s)Objet(s) au-dessus du séparateur horizontal ou à gauche du séparateur vertical (1)Objet(s) au-dessous du séparateur horizontal non Pousseur ou à droite d'un séparateur vertical non PousseurObjet(s) au-dessous du séparateur horizontal Pousseur ou à droite d'un séparateur vertical Pousseur
AucunRestent tel queSont déplacés avec le séparateur (conservent leur position relative) jusqu’à la butée suivante. La butée du déplacement vers le bas ou vers la droite est soit le bord de la fenêtre, soit un autre séparateur.Sont déplacés sans limites avec le séparateur (conservent leur position relative). Aucune butée n’est appliquée (cf. paragraphe suivant)
RedimensionnementGardent leur position d’origine mais sont redimensionnés en fonction de la nouvelle position du séparateur
DéplacementSe déplacent avec le séparateur

(1) You cannot drag the splitter past the right (horizontal) or bottom (vertical) side of an object located in this position.

Un objet entièrement contenu dans le rectangle définissant le séparateur est déplacé en même temps que le séparateur lui-même.

Gestion programmée des séparateurs

Vous pouvez associer une méthode objet à un séparateur. Cette méthode sera appelée avec l’événement On Clicked durant tout le déplacement.

Une variable de type Entier long est associée à chaque objet séparateur. Cette variable peut être utilisée dans vos méthodes objet et/ou formulaire. Elle prend pour valeur le déplacement courant, en pixels, du séparateur.

  • Si elle est négative : le déplacement a été effectué vers le haut ou vers la gauche,
  • Si elle est positive : le déplacement a été effectué vers le bas ou vers la droite,
  • Si elle est égale à 0 : le séparateur a été relâché à son emplacement d’origine.

Vous pouvez également déplacer le séparateur par programmation : il suffit de modifier la valeur de la variable associée. Imaginons par exemple qu’un séparateur vertical soit associé à la variable sépara1. Si vous écrivez sépara1:=-10, le séparateur sera déplacé de 10 pixels vers la gauche — comme si l’utilisateur l’avait fait manuellement. Le déplacement s’effectue au terme de l’exécution de la méthode objet ou formulaire contenant l’instruction.