Le forum (ô combien francophone) des utilisateurs de Powerbuilder.





Bonsoir,
Je me trouve confronté à un bien étrange problème.
1) Mon application s'affiche correctement, avec ses menus et tout ce qui va bien.
2) L'utilisateur affiche une sheet et les menu items qui vont avec (Par exemple : consultation d'infos sur une personne).
3) L'utilisateur ouvre une response_window qui lui permet de modifier les informations qu'il peut lire sur la sheet ouverte en 1).
4) Lorsqu'il valide et que les traitements sont terminés, la response_window se ferme avec un simple "Close(this)".
Jusque là c'est un comportement classique, qui a fonctionné sans soucis... Mais il s'avère que - sur quelques unes de mes sheets - l'application perd le focus lorsque la response_window se ferme. Je ne trouve pas la solution pour redonner le focus à mon application (ou à ma sheet) lorsque la response_window se ferme : en effet, ma sheet et ma response_window sont indépendantes et ne se "connaissent" pas.
J'ai entendu parler d'une méthode qui permettrait de retourner un pointeur sur la fenêtre principale de l'application, de sorte à lui rendre le focus, mais je ne parviens pas non plus à trouver cette fameuse méthode.
Auriez-vous une idée ? Une piste ? Un conseil ?
Je vous remercie pour votre aide ;-)
Dernière modification par Nyphel (13-05-2008 08:02:29)
Hors ligne





La fonction est GetFirstSheet, mais dans mon cas elle ne suffit pas.
Il semblerait que je sois face à un mini-bug qui ne concerne que quelques unes de mes sheets, aussi la solution fut d'implémenter un event dans ma sheet. Cet event reçoit en paramètre la response_window qui l'appelle, puis :
- ferme la response window
- exécute un this.setfocus()
Il me suffit donc d'appeler cet event lorsque je souhaite fermer ma response_window... Mais je n'aime pas beaucoup cette solution.
Hors ligne







c'est plus ou moins ce que j'allais te proposer, je ne vois pas trop comment faire d'autre à moins de trouver pourquoi certaines de ets fenêtres réagissent comme ça et d'autres pas.

Hors ligne