Discussion:
zorder
(trop ancien pour répondre)
Jean à Grenoble
2010-05-24 12:01:25 UTC
Permalink
Bonjour à tous,

dans une form déjà bien remplie, je dois ajouter des champs de saisie.
J'ai créé un container dans lequel je les ai mis. Mon idée était de
rendre visible / invisible ce container via un bouton de commande. Mais
ce container reste caché derrière d'autres objets de la form (pas tous)
et bien qu'il soit soit opaque, on voit les objets qu'il devrait cacher.
J'ai essayé de le mettre 'en avant plan' avec zorder(1) mais sans
succès. J'ai aussi essayer de mettre les autres objets en arrière plan
avec zorder mais sans plus de succès.


Il y a une recette miracle ou bien je me lance dans la mise en place
d'un page frame ?

A+

Jean à Grenoble
OlivierH
2010-05-24 12:41:31 UTC
Permalink
Salut Jean

Es tu obligé de prendre un container, meme si je ne vois pas pourquoi il
pas en dessous. (à moins que tu le rajoute dynamiquement)

Imagine que tes textbox commence par MonNomGenerique.

Tu peux les effacer comme cela.
For i=1 to thisform.ControlCount
m.oControl = m.oControlParent.Controls[m.i]
if
ATC(m.oControl.BaseClass,"TextBox,EditBox,ListBox,ComboBox,Spinner") # 0
if "MonNomGenerique" $ m.oControl.name
m.oControl.visible = .F.
EndIF
EndIF
EnDIF


Ou bien tu peux créer une methode dans ton formulaire par exemple
SetTextBoxVisible

Et tu passe par paramètre la valeur que tu as besoin true or false pour
la visibilité.

Olivier
Post by Jean à Grenoble
Bonjour à tous,
dans une form déjà bien remplie, je dois ajouter des champs de saisie.
J'ai créé un container dans lequel je les ai mis. Mon idée était de
rendre visible / invisible ce container via un bouton de commande.
Mais ce container reste caché derrière d'autres objets de la form (pas
tous) et bien qu'il soit soit opaque, on voit les objets qu'il devrait
cacher. J'ai essayé de le mettre 'en avant plan' avec zorder(1) mais
sans succès. J'ai aussi essayer de mettre les autres objets en arrière
plan avec zorder mais sans plus de succès.
Il y a une recette miracle ou bien je me lance dans la mise en place
d'un page frame ?
A+
Jean à Grenoble
Jean à Grenoble
2010-05-24 13:14:16 UTC
Permalink
c'est une idée interessante, surtout que les 'nouveaux' champs dépendent
d'une classe particulière et que je peux utiliser .SETALL() !

Je creuse ...

Merci.

Jean à Grenoble
OlivierH
2010-05-24 13:20:46 UTC
Permalink
Si elles possèdent une classe particulière il y a la propriété class qui
te permet de verifier le nom de ta classe particuliere.

Mais pense à créer une méthode aussi dans ton form, ce que te permet de
rajouter des chose à l'avenir que dans un seul endroit.

Olivier,
Post by Jean à Grenoble
c'est une idée interessante, surtout que les 'nouveaux' champs
dépendent d'une classe particulière et que je peux utiliser .SETALL() !
Je creuse ...
Merci.
Jean à Grenoble
eddymaue
2010-05-25 11:06:24 UTC
Permalink
salut jean

en premier

thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()

en second

thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()


en dernier cas pour forcer un rafraîchissement dynamique, tu joues sur les dimensions du conteneur

thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1

thisform.conteneur.refresh() && à là limite thisform.refresh()


a+ eddy
OlivierH
2010-05-25 12:02:43 UTC
Permalink
Il vaudrait mieux que jean nous poste un exemple,
car cela ne sert à rien de rafraichir les objets comme ca.

Le problème doit venir d'autre part.

Olivier,
Post by eddymaue
salut jean
en premier
thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()
en second
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()
en dernier cas pour forcer un rafraîchissement dynamique, tu joues sur
les dimensions du conteneur
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1
thisform.conteneur.refresh() && à là limite thisform.refresh()
a+ eddy
Gregory Adam
2010-05-25 12:11:26 UTC
Permalink
Post by OlivierH
car cela ne sert à rien de rafraichir les objets comme ca.
Des paroles tres sages
--
Gregory
_
"OlivierH" <"nospam[contact]"@planitron.com> wrote in message news:OJJMaJA$***@TK2MSFTNGP04.phx.gbl...
Il vaudrait mieux que jean nous poste un exemple,
car cela ne sert à rien de rafraichir les objets comme ca.

Le problème doit venir d'autre part.

Olivier,

Le 25/05/2010 13:06, eddymaue a écrit :
salut jean

en premier

thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()

en second

thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()


en dernier cas pour forcer un rafraîchissement dynamique, tu joues sur les dimensions du conteneur

thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1

thisform.conteneur.refresh() && à là limite thisform.refresh()


a+ eddy
OlivierH
2010-05-25 12:22:23 UTC
Permalink
Je ne te vois plus greg, es tu faché ?

olivier,
Post by Gregory Adam
Post by OlivierH
car cela ne sert à rien de rafraichir les objets comme ca.
Des paroles tres sages
--
Gregory
_
Il vaudrait mieux que jean nous poste un exemple,
car cela ne sert à rien de rafraichir les objets comme ca.
Le problème doit venir d'autre part.
Olivier,
Post by OlivierH
salut jean
en premier
thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()
en second
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()
en dernier cas pour forcer un rafraîchissement dynamique, tu
joues sur les dimensions du conteneur
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1
thisform.conteneur.refresh() && à là limite thisform.refresh()
a+ eddy
Gregory Adam
2010-05-25 12:34:41 UTC
Permalink
Beaucoup de boulot, Olivier
--
Gregory
_
Post by OlivierH
Je ne te vois plus greg, es tu faché ?
olivier,
Post by Gregory Adam
Post by OlivierH
car cela ne sert à rien de rafraichir les objets comme ca.
Des paroles tres sages
--
Gregory
_
Il vaudrait mieux que jean nous poste un exemple,
car cela ne sert à rien de rafraichir les objets comme ca.
Le problème doit venir d'autre part.
Olivier,
Post by OlivierH
salut jean
en premier
thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()
en second
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()
en dernier cas pour forcer un rafraîchissement dynamique, tu
joues sur les dimensions du conteneur
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1
thisform.conteneur.refresh() && à là limite thisform.refresh()
a+ eddy
eddymaue
2010-05-26 02:54:04 UTC
Permalink
Regarde les exemples, il y a thisform.refresh et
thisform.conteneur.refresh()

c'est à Jean de choisir celui qui ce prête le mieux dans son cas.

a+ eddy pas sage du tout du tout du tout ;-)

bonne nuit Olivier
Post by OlivierH
Il vaudrait mieux que jean nous poste un exemple,
car cela ne sert à rien de rafraichir les objets comme ca.
Le problème doit venir d'autre part.
Olivier,
Post by eddymaue
salut jean
en premier
thisform.conteneur.visible = .f.
thisform.refresh() && thisform.conteneur.refresh()
en second
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.refresh()
en dernier cas pour forcer un rafraîchissement dynamique, tu joues sur les
dimensions du conteneur
thisform.conteneur.setall("Visible",.f.)
thisform.conteneur.visible = .f.
thisform.conteneur.width = thisform.conteneur.width -1
thisform.conteneur.width = thisform.conteneur.width +1
thisform.conteneur.refresh() && à là limite thisform.refresh()
a+ eddy
Loading...