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 05-09-2007 16:02:36

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

[RESOLU] Activer une sheet déjà ouverte

Bonjour à tous,

Je suis en PB 9.0.2 build 7578.

Dans mon frame j'ai plusieurs sheet ouvertes dont une que j'appelerais TOTO que je ne vois pas car d'autres sont ouvertes par dessus et la cache.
Je voudrais que quand on clique sur l'entrée du menu de TOTO, cette sheet repasse par dessus toutes les autres et est le focus dessus.
Comme si je clique sur fenetre et que je la sélectionne dans ma liste.

Est-ce possible ?

D'avance merci.

Dernière modification par LeCiao (06-09-2007 07:55:46)

Hors ligne

 

#2 05-09-2007 16:04:20

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Activer une sheet déjà ouverte

Tu l'as ouverte comment ?


never let people work on more than one thing at once.

Hors ligne

 

#3 05-09-2007 16:06:18

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Activer une sheet déjà ouverte

Avec un opensheet

En fait j'ai un bout de code qui me permet de savoir si elle est ouverte :

Code: pb

IF (IsValid(w_main)) THEN
  pw_window = w_main.GetFirstSheet()
  
  DO WHILE IsValid(pw_window)
    IF lower(ClassName(pw_window)) = lower(ps_window_name) then
      return true
    END IF
    pw_window = w_main.GetNextSheet(pw_window)
  LOOP
END IF

SetNull(pw_window)
return false


Mais je ne sais pas comment la repasser par dessus les autres

Dernière modification par LeCiao (05-09-2007 16:08:02)

Hors ligne

 

#4 05-09-2007 16:15:17

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Activer une sheet déjà ouverte

Code: pb

IF lower(ClassName(pw_window)) = lower(ps_window_name) then
            open(pw_window)
            return true
END IF



ca marche pas comme ca ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 05-09-2007 16:23:30

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Activer une sheet déjà ouverte

LeCiao a écrit:

Avec un opensheet

Je m'en doute, mais c'est justement cette ligne que je voulais


LeCiao a écrit:

En fait j'ai un bout de code qui me permet de savoir si elle est ouverte :
...
Mais je ne sais pas comment la repasser par dessus les autres

Essaie :

Code: pb

pw_window.setFocus ()

Et si ça ne fonctionne pas, et seulement dans ce cas là :

Code: pb

pw_window.SetPosition (TopMost!)
Yield()
pw_window.SetPosition (NoTopMost!)


PS : Tu l'as ouverte comment ?


never let people work on more than one thing at once.

Hors ligne

 

#6 05-09-2007 16:26:36

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Activer une sheet déjà ouverte

le setfocus a l'air mieux adapté ici.

la vache, je me fais vieux....je suis une triple b...e


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#7 05-09-2007 17:21:43

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Activer une sheet déjà ouverte

pick ouic a écrit:

la vache, je me fais vieux....

Plus que 30 ans et père de famille ? Alors nous sommes deux.

Bon, selon la réponse a ma question tu avait peut être raison

Selon la façon dont la fenêtre avait été ouverte la première fois, un deuxième appel à openSheet peut ouvrir une autre ouverte ou mettre la première fenêtre au premier plan


never let people work on more than one thing at once.

Hors ligne

 

#8 06-09-2007 06:55:46

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Activer une sheet déjà ouverte

shahin a écrit:

C'est noté


shahin a écrit:

LeCiao a écrit:

Avec un opensheet

Je m'en doute, mais c'est justement cette ligne que je voulais

En fait, c'est un processus qui vérifie si la fenêtre est déjà ouverte ou pas.
Si elle n'est pas ouverte c'est un :

Code: pb

window   instw
...
OpenSheet(instw, "fenetre_a_ouvrir", gnv_app.FenetreMain, 0, Original!)


OU si besoin de paramètres

Code: pb

window      instw
powerobject param
...
OpenSheetWithParm(instw, param, "fenetre_a_ouvrir", gnv_app.FenetreMain, 0, Original!)



shahin a écrit:

LeCiao a écrit:

En fait j'ai un bout de code qui me permet de savoir si elle est ouverte :
...
Mais je ne sais pas comment la repasser par dessus les autres

Essaie :

Code: pb

pw_window.setFocus ()

C'était si simple et j'y ai pas pensé....
Ca marche nickel !!
Merci beaucoup.

Et bravo sur pour ce forum sur PB en français en plus

Promis je vais vous suivre de prêt et si je peux aider je le ferai volontier

Hors ligne

 

#9 06-09-2007 07:51:39

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Activer une sheet déjà ouverte

Bonjour et sur PBaDonf.

Pourrais-tu modifier le titre du topic pour ajouter [RESOLU] devant?

d'avance


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#10 06-09-2007 07:56:13

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Activer une sheet déjà ouverte

Merci
Et c'est fait

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22