Ajustement des champs de saisie
Stagiaire WDF
Inscrit:
09/07/2005 18:09
Post(s): 1
Salut tout le monde
Je suis en train de devlopper une une petite application de gestion commerçiale pour moi meme sous windev 9.
dans l'une de mes fenetres ,j'ai une table pour recevoir des les donnés saisie dans des champs des saisie.
Pour avoir une interface plus jolie ,j'ai decideé de positioner les champs de saisie juste au dessous des colonnes de la table.Mais le probleme qui se pose est :
moi je veux faire en sorte que quand j'ajuste les colonnes de la table(avec la souris) ,les champs aussi doivent etre ajustés(modifient leurs tailles en fonction des colonnes) ...j'ai pas touvé la technique.J'ai cherché dans les traitements supplementaires de la table et les colonnes mais il n'ya pas celui qui repond à ce que je cherche(ajustement de la colonne).
Pour ne pas etre trop long avec vous ,je vous prie ,si vous avez une technique ,une solution de bien m'aider et je vous remercie tous d'avance.Merci

Contribution le : 17/07/2005 18:32
Créer un fichier PDF de la contribution Imprimer


Re: Ajustement des champs de saisie
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour,

je vous invite à lancer une procédure qui repositionnera vos champs à chaque mouvement de la table et de ses colonnes.

Pour se faire ajouter la gestion des évènements WM_SIZE (redimensionnement), WM_MOVE (déplacement) et WM_LBUTTONUP (Bouton gauche relaché) à la table. Chacun de ces évènement appèlera alors la procédure de repositionnement des champs.

Voici un peu de code pour donner un ordre d'idée :

// WM_SIZE de Colonne1
Positionne()


// Procédure locale Positionne
// Positionne les champs sous la table dans l'alignement des colonnes assosicée
// les champs de saisies et les noms des colonnes on un nom similaire,
// seul le préfixe change. On a ainsi "SAIS_Colonne" associé à "Colonne".
// Cela permet d'utiliser l'énumération des colonnes et l'indirection
PROCEDURE Repositionne()
i est un entier
POUR i=1 A TableOccurrence(Table,toColonne)
	sNomColonne est une chaîne = TableEnumèreColonne(Table,i)
	SI {sNomColonne,indChamp}..Visible ALORS
		// calage en largeur
		{"SAIS_"+sNomColonne,indChamp}..X=Table..X+{sNomColonne,indChamp}..X
		{"SAIS_"+sNomColonne,indChamp}..Largeur={sNomColonne,indChamp}..Largeur
		// callage en hauteur : utiliser les ancrage.
		//les champs doivent utiliser un ancrage BAS,
		// la table un ancrage largeur et hauteur.
	FIN
FIN


Je viens de tester avec succès : les zones suivent bien les colonnes.

Juste demeure un soucis quand on déplace une colonne (via les barres de titre), il faut cliquer dans la table pour que les champs suivent... reste donc à trouver l'enèvement qui est déclanché par le déplacement d'une colonne... ou bien trouver le moyen d'en provoquer un.

Contribution le : 19/07/2005 11:00
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2