Après windows pour les nuls, voici PB pour les bons (ou presque).

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

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 09-05-2008 17:41:14

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

[RESOLU] Donner le focus à l'application

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

 

#2 13-05-2008 08:00:43

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] Donner le focus à l'application

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

 

#3 13-05-2008 13:08:48

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Donner le focus à l'application

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.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22