Initialisation d'une fenetre-fille MDI
Stagiaire WDF
Inscrit:
08/11/2006 15:47
De Suisse
Post(s): 32
Bonjour, voici la question pour un champion ....

j'ai crée un fichier qui permet de changer les droits sur des boutons en fonction des droits d'un utilisateur/groupe

//initalisation du projet

Evement("Bloquechamp","*.",WM_Create)

Procedure BloqueChamp()
// remplisage d'une liste à bloquer
  nomcomplet est une chaine = "Fenetre1.btn_sauve"

si FenEnCours()~="fenetre1" alors
  {nomcomplet,indChamp}..Visible=faux
FIN



Quand j'ouvre cette fenêtre en mode direct "ouvre(fenetre1)"
mon champ "btn_sauve" devient invisible

Par contre en MDIOuvre(...) cela ne fonctionne pas

Test éfectués
évenement en WM_SETFOCUS, si j'ouvre une 2eme fenetre et que je reviens sur fenêtre1 le bouton se cache

évenement en WM_SETCURSOR, quand ma souris ce trouve sur la fenêtre, le bouton se cache


Je ne sais pas quoi faire pour changer l'état "automatiquement" si j'ouvre en MDIOuvre()

Le but est de changer l'état des boutons dans une fenêtre MDI automatiquement à la création de la fenêtre...


Merci ENORMEMENT d'avance

Contribution le : 30/11/2006 19:35
Créer un fichier PDF de la contribution Imprimer


Re: Initialisation d'une fenetre-fille MDI
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

Vous pouvez utiliser cette méthode :
- Créer une procédure globale au projet "Gbl_Blocage" par exemple
- Récupérer le fichier ZIP joint au post (il contient une collection de 3 procédures globales dont Gbl_Liste_Objets, qui permet de lister les champs présents sur une fenêtre)
- Appelez Gbl_Blocage dans le code d'initialisation de toutes les fenêtres à gérer.
- Dans Gbl_Blocage, récupérez la liste des champs disponibles dans la fenêtre avec la fonction fourni, puis effectuez vos tests sur les champs à rendre invisible ou non.

Tout simplement

Bon dév.,

Totof

Attacher un fichier:


zip Procedures globales de sauvegarde de parametrages INI.zip Taille: 13.09 KB; Hits: 277

Contribution le : 01/12/2006 14:41
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Initialisation d'une fenetre-fille MDI
Stagiaire WDF
Inscrit:
08/11/2006 15:47
De Suisse
Post(s): 32
Merci pour le code, (je l'avais déjà écrit, mais c'est toujours bien de voir comment d'autres personnes s'y prennent).

Mon but est de créer un composant qui gère les affichages sans intervention dans le code de chaque fenêtre...

J'ai trouvé une parade qui peut être utile aux autres dévloppeurs...

voici comment j'ai réglé mon code

En utilisant la fonction OUVRE(nomfen) un évenement de type WM_SETFOCUS suffit pour modifier le contenu de la fenêtre
Evénement("majdroits", "*.", WM_SETFOCUS)


Par contre avec MDIOuvre(nomfen,...) il faut réafficher la fenetre
nomfen est une chaine="Mafenetre"
// ouverture de la fenetre mdi fille
MDIOuvre(nomfen,nomfen,nomfen)
// on la cache la fenetre
{nomfen,indfenetre}..visible=faux
// en la raffichant, on active les paramètres de majdroits
{nomfen,indfenetre}..visible=vrai


Avec ce type d'affichage, les modifications de base sont pris en compte, même dans une fille MDI...

Contribution le : 05/12/2006 11:54
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