Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Restes indésirables dans mon formulaire

3 réponses
Avatar
Mishell
Bonjour à tous.

Je fais un programme composé d'un formulaire dont la propriété Autoredraw
est à True. Ce formulaire contient plusieurs contrôles Label, Lisbox,
PictureBox et Shape.

Ce programme ouvre à l'occasion le programme Antidote ou encore une page web
dans le fureteur par défaut.

Le problème qui survient, c'est quand l'utilisateur clique quelque part sur
mon programme pour lui redonner le focus, il y a parfois des contrôles de
mon programme qui ne reprennent pas leur couleur originelle, mais affichent
des restes d'Antidote ou de la page web qui vient d'être affichée.

Comment ne pas conserver de morceaux de la fenêtre Antidote quand mon
programme reçoit de nouveau le focus?

Merci

Mishell

3 réponses

Avatar
LE TROLL
Bonjour,

J'ai déjà eu ce problème d'objet qui laisse son empreinte en vide dans
l'écran quand il est déplacé, et le pire c'est que c'était intermittent,
tout se passe comme si l'objet n'avait pas le temps de se réafficher, et ça
ne se produit pas sur tous les objets, je n'ai pas trouvé la solution (c'est
peut être un bug qui ne sera évidemment jamais corrigé ?), donc, peut être
en utilisant des propriété comme "Refresh" dans activate, et aussi en
tentant de mettre un autre objet (par exemple un text à la place d'un
label), une picture avec image bouton à la place du bouton défectueux...

Il y a peut être d'autres éléments que je ne connais pas, et qui sait,
même une explication :o)

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Mishell" a écrit dans le message de news:
%
| Bonjour à tous.
|
| Je fais un programme composé d'un formulaire dont la propriété Autoredraw
| est à True. Ce formulaire contient plusieurs contrôles Label, Lisbox,
| PictureBox et Shape.
|
| Ce programme ouvre à l'occasion le programme Antidote ou encore une page
web
| dans le fureteur par défaut.
|
| Le problème qui survient, c'est quand l'utilisateur clique quelque part
sur
| mon programme pour lui redonner le focus, il y a parfois des contrôles de
| mon programme qui ne reprennent pas leur couleur originelle, mais
affichent
| des restes d'Antidote ou de la page web qui vient d'être affichée.
|
| Comment ne pas conserver de morceaux de la fenêtre Antidote quand mon
| programme reçoit de nouveau le focus?
|
| Merci
|
| Mishell
|
|
Avatar
Mishell
Merci de tes suggestions.
L'événement Activate n'est pas activé lorsqu'on revient d'une autre
application.
J'ai opté finalement pour la création d'un nouveau formulaire qui cache mon
programme lorsque je fais appel à une autre application, ce qui oblige de
cliquer sur ce nouveau formulaire lorsque je veux revenir à mon programme,
ce clic étant facile à détecter. J'efface alors ce nouveau formulaire et
j'utilise une API pour mettre mon application OnTop à True puis OnTo à False
pour m'assurer de ne pas avoir de résidus indésirables.

Mishell


"LE TROLL" <le wrote in message
news:eh7CW%
Bonjour,

J'ai déjà eu ce problème d'objet qui laisse son empreinte en vide dans
l'écran quand il est déplacé, et le pire c'est que c'était intermittent,
tout se passe comme si l'objet n'avait pas le temps de se réafficher, et
ça
ne se produit pas sur tous les objets, je n'ai pas trouvé la solution
(c'est
peut être un bug qui ne sera évidemment jamais corrigé ?), donc, peut être
en utilisant des propriété comme "Refresh" dans activate, et aussi en
tentant de mettre un autre objet (par exemple un text à la place d'un
label), une picture avec image bouton à la place du bouton défectueux...

Il y a peut être d'autres éléments que je ne connais pas, et qui sait,
même une explication :o)

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Mishell" a écrit dans le message de news:
%
| Bonjour à tous.
|
| Je fais un programme composé d'un formulaire dont la propriété
Autoredraw
| est à True. Ce formulaire contient plusieurs contrôles Label, Lisbox,
| PictureBox et Shape.
|
| Ce programme ouvre à l'occasion le programme Antidote ou encore une page
web
| dans le fureteur par défaut.
|
| Le problème qui survient, c'est quand l'utilisateur clique quelque part
sur
| mon programme pour lui redonner le focus, il y a parfois des contrôles
de
| mon programme qui ne reprennent pas leur couleur originelle, mais
affichent
| des restes d'Antidote ou de la page web qui vient d'être affichée.
|
| Comment ne pas conserver de morceaux de la fenêtre Antidote quand mon
| programme reçoit de nouveau le focus?
|
| Merci
|
| Mishell
|
|




Avatar
LE TROLL
Bonjour,

Ben moi, il me semble bien (sous réserve), qu'activate est sollicité à
chaque fois que la feuille a le focus, donc quand on revient d'une autre
feuille aussi... Car souvent il est nécessaire de mettre un espion dans
l'activate si on ne l'utilise qu'une fois (à cause que, pour agir sur
certains objets, on ne peut le faire depuis le load, car ils ne sont pas
encore visibles), genre:

si premiereFois Not True alors exit Sub
premiereFois = False

Pour le savoir, mets un msgBox "activate" dedans, et tu verras ce qui se
passe.

Il y a d'autres éléments pour le focus, ou qui vont avec, voir l'aide,
par exemple :
setfocus
Me
lostFocus
Gotfocus
refresh


------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Mishell" a écrit dans le message de news:

| Merci de tes suggestions.
| L'événement Activate n'est pas activé lorsqu'on revient d'une autre
| application.
| J'ai opté finalement pour la création d'un nouveau formulaire qui cache
mon
| programme lorsque je fais appel à une autre application, ce qui oblige de
| cliquer sur ce nouveau formulaire lorsque je veux revenir à mon programme,
| ce clic étant facile à détecter. J'efface alors ce nouveau formulaire et
| j'utilise une API pour mettre mon application OnTop à True puis OnTo à
False
| pour m'assurer de ne pas avoir de résidus indésirables.
|
| Mishell
|
|
| "LE TROLL" <le wrote in message
| news:eh7CW%
| > Bonjour,
| >
| > J'ai déjà eu ce problème d'objet qui laisse son empreinte en vide
dans
| > l'écran quand il est déplacé, et le pire c'est que c'était intermittent,
| > tout se passe comme si l'objet n'avait pas le temps de se réafficher, et
| > ça
| > ne se produit pas sur tous les objets, je n'ai pas trouvé la solution
| > (c'est
| > peut être un bug qui ne sera évidemment jamais corrigé ?), donc, peut
être
| > en utilisant des propriété comme "Refresh" dans activate, et aussi en
| > tentant de mettre un autre objet (par exemple un text à la place d'un
| > label), une picture avec image bouton à la place du bouton défectueux...
| >
| > Il y a peut être d'autres éléments que je ne connais pas, et qui
sait,
| > même une explication :o)
| >
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| > "Mishell" a écrit dans le message de news:
| > %
| > | Bonjour à tous.
| > |
| > | Je fais un programme composé d'un formulaire dont la propriété
| > Autoredraw
| > | est à True. Ce formulaire contient plusieurs contrôles Label, Lisbox,
| > | PictureBox et Shape.
| > |
| > | Ce programme ouvre à l'occasion le programme Antidote ou encore une
page
| > web
| > | dans le fureteur par défaut.
| > |
| > | Le problème qui survient, c'est quand l'utilisateur clique quelque
part
| > sur
| > | mon programme pour lui redonner le focus, il y a parfois des contrôles
| > de
| > | mon programme qui ne reprennent pas leur couleur originelle, mais
| > affichent
| > | des restes d'Antidote ou de la page web qui vient d'être affichée.
| > |
| > | Comment ne pas conserver de morceaux de la fenêtre Antidote quand mon
| > | programme reçoit de nouveau le focus?
| > |
| > | Merci
| > |
| > | Mishell
| > |
| > |
| >
| >
|
|