Executer une procedure d'une fenetre MDI d'apres son alias
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bonjour,

Voila, j'ai plusieurs fenetres MDI identiques ouverte, je souhaite executer un traitement sur celle qui à le focus, mais quand je fait :

maFenetre.monTraitement(_param)

le monTraitement est toujours executé sur la derniére fenetre ouverte

Note : je récupére déja dans une variable globale l'alias de la fenetre MDI active, donc je souhaiterai simplement executer le traitement sur la fenetre portant l'alias en cours.

Contribution le : 09/09/2004 14:38
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
comme pour les fichiers, les fenêtre aliassée on un nom logique modifié !
Ainsi, il faut l'appeler par son alias...
NomAliasFenêtre.MonTraitement(_param)


Pas testé, mais je suis simplement la logique...

Contribution le : 09/09/2004 17:32
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Idée: tester ceci
ExécuteTraitement({FenEnCours()+".monTraitement"},trtProcédure,_param)

ou
ExécuteTraitement({MaFenêtre+".monTraitement"},trtProcédure,_param)


l'utilisation de MaFenêtre par rapport à FenEnCours() estla suivante:
MaFenêtre contient l'instance de la fenêtre alors que FenEnCours() ne renvoi que le nom de la fenêtre.

Contribution le : 09/09/2004 17:37
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Merci de vos réponse, mais aucune des méthodes proposées ne marchent. Sauf la derniére, mais elle ne s'applique qu'à la derniére fenêtre MDI ouverte, je ne peux donc pas choisir sur quelle fenetre appliquer le traitement ( je rappel que toutes mes fenêtres ont le même nom, hormis l'alias )

Contribution le : 13/09/2004 18:51
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour 2501,

et comme ceci ?
ExécuteTraitement({MaFenêtre..Alias+".monTraitement"},trtProcédure,_param)


Contribution le : 13/09/2004 19:04
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
De mon coté, j'ai une application qui doit faire la même chose, et pour ce faire, j'utilise une fonction qui me donne le nom de la fenêtre MDI qui a le focus:

Fc_FilleQuiALeFocus()
RET est une chaîne
i est un entier = 1

RET = MDIEnumèreFille(i)

TANTQUE RET <> ""
SI ExtraitChaîne(RET,2,"_",DepuisDébut) ~= Alias ALORS
SI FenEtat(RET) = Actif ALORS RENVOYER RET
FIN

i++
RET = MDIEnumèreFille(i)
FIN

RENVOYER Faux

La chaine Alias permet de filtrer les fenêtres mdi que j'ouvre. Les alias de mes fenêtres ont tous la forme : Alias+ "_1", Alias + "_2",... et Alias represente un type de fenêtres. Exemple Fichier_1, Fichier_2,...

Ensuite, vous appelez comme suit :

Fenetre est une chaîne = Fc_FilleQuiALeFocus()
SI Fenetre = "0" ALORS
Info("Pas de fenêtre ouverte")
SINON
ExécuteTraitement(Fenetre+".TraitementDésiré",trtProcédure)
FIN


//

Pour l'utiliser tous les jours, je peux vous dire que ça marche...

Contribution le : 14/09/2004 17:51
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Anonyme
Pourquoi ne pas essayer avec la fonction MdiActive ?
ExécuteTraitement({MdiActive()".monTraitement"},trtProcédure,_param)

Remarque : Je n'ai pas testé mais j'ai le même problème sur mon projet actuel alors le sujet m'interresse

Contribution le : 17/09/2004 09:05
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
MDIActive renvoi le nom de la fenêtre MDI en avant plan, soit qui a le Focus. ça va marcher si on ouvre toujours la même fenêtre MDI qui doit executer la fonction. Si on ouvre deux fenêtres MDI, l'une étant Client_1, l'autre étant Fournisseur_1, il est alors impossible d'être sur qu'on executera le code du client... enfin le problème est la... je suis pas très clair.

Je le repête encore, ma mèthode (voir plus haut) marche à 100% ! Je l'utilise tous les jours. Adaptez la à vos applications c'est cadeau

Contribution le : 17/09/2004 09:38
_________________
Si tout le monde était comme moi je serais plus tolérant.......
Créer un fichier PDF de la contribution Imprimer


Re: Executer une procedure d'une fenetre MDI d'apres son alias
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Désolé d'avoir mis du temps à répondre, mais te méthode marche parfaitement chez moi aussi deedier...

Merci encore

Contribution le : 17/09/2004 12:04
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