La gestion d'un splitter en natif fox

Description

La gestion d'un splitter consiste à pourvoir redimensionner deux parties de l'écran en utilisant la fonction Glisser de la souris.
C'est natif sous Delphi. Ce n'est pas le cas sous FOXPRO.
Le site fait état de plusieurs exemples basés sur des DLL. Le problème est la reticence de certains chefs de projet à voir utiliser des DLL.
L'exemple que je donne ici est basé sur une bibliothèque de classes donc du code 100% FOX et que l'on peut même rapatrier au niveu d'un écran.

L'objet dérive du container et contient lui-même 3 containers
Celui de gauche dans lequel on peut placer des objets de saisie ou d'affichage.
Celui du milieu qui fait office de splitter. La forme de la souris change quand on est dessus.
Celui de droite dans lequel on peut placer aussi des objets de saisie ou d'affichage.

Le Container du milieu détecte le clic enfoncé de la souris et positionne une propriété de la classe à True.
Ensuite, pendant le temps ou la souris est déplacée, si la propriété de classe est à True le container de splitter est déplacé, celui de gauche et celui de droite sont repositionnés et redimensionnés.
la propriété de classe est remise à False quand la souris est relachée

La même méthode est utilisée dans l'évènement resize.

La form jointe sert d'exemple de la mise en oeuvre de l'objet de classe.

Ce n'est ni compliqué ni révolutionnaire. Simplement un moyen facile d'améliorer l'interface graphique d'une application.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.