OVH Cloud OVH Cloud

Impossible de désactiver un control Actif (avec focus) ??

8 réponses
Avatar
News Groups
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une routine
associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls du
sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce sous
formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du sous
formulaire,
un message d'erreur apparait, me disant qu'il est impossible de désactiver
un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur un
control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un control
qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.

8 réponses

Avatar
Gafish
Bonjour,

Malheureusement je ne crois pas qu'il soit possible de faire autrement que
de passer le focus ailleurs. Mais la zone de texte recevant le focus peut
très bien être mise en invisible.
Sinon tu peut aussi mettre le focus sur un bouton, ainsi tu n'as pas à créer
de zone de texte exprès.

Arnaud

"News Groups" a écrit dans le message news:
41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce sous
formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de désactiver
un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur un
control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.




Avatar
News Groups
C'est bien dommage, je pensai à une méthode enlevant tout focus mais
apparemment il faut oublier ..!!? :-(

pour nota : " ..Mais la zone de texte recevant le focus peut très bien être
mise en invisible..."
j'ai testé et le message d'erreur suivnat apparait :
"Erreur d'exécution '2110' :
Impossible d'activer le contrôle MonControl."

Je crois effectivement que l'option du focus sur un bouton de commande type
"Fermer" est plus probable, à défaut..:-(.

Merci encore,
Thierry.


"Gafish" a écrit dans le message de news:

Bonjour,

Malheureusement je ne crois pas qu'il soit possible de faire autrement que
de passer le focus ailleurs. Mais la zone de texte recevant le focus peut
très bien être mise en invisible.
Sinon tu peut aussi mettre le focus sur un bouton, ainsi tu n'as pas à
créer

de zone de texte exprès.

Arnaud

"News Groups" a écrit dans le message news:
41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur
un


control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.








Avatar
Gilbert
Bonjour,
Ne peux-tu mettre le focus sur un contrôle du formulaire principal et non du
sous-formulaire?

--
Gilbert


"News Groups" a écrit dans le message de news:
41668b40$0$296$
C'est bien dommage, je pensai à une méthode enlevant tout focus mais
apparemment il faut oublier ..!!? :-(

pour nota : " ..Mais la zone de texte recevant le focus peut très bien
être
mise en invisible..."
j'ai testé et le message d'erreur suivnat apparait :
"Erreur d'exécution '2110' :
Impossible d'activer le contrôle MonControl."

Je crois effectivement que l'option du focus sur un bouton de commande
type
"Fermer" est plus probable, à défaut..:-(.

Merci encore,
Thierry.


"Gafish" a écrit dans le message de news:

Bonjour,

Malheureusement je ne crois pas qu'il soit possible de faire autrement
que
de passer le focus ailleurs. Mais la zone de texte recevant le focus peut
très bien être mise en invisible.
Sinon tu peut aussi mettre le focus sur un bouton, ainsi tu n'as pas à
créer

de zone de texte exprès.

Arnaud

"News Groups" a écrit dans le message news:
41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des
controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur
un


control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit
pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.












Avatar
News Groups
Si bien sur,
mais même si un control du formulaire principal a le focus,
un control du sous formulaire reste actif et conserve le focus niveau sous
formulaire,
ce control est soit : à l'ouverture, celui dont l'ordre de tabulation est 0
dans le sous formulaire
soit : en cours d'utilisation, celui ayant eu le focus
en dernier

Donc il reste tout de mêm un control niveau sous formulaire
qui conserve le focus ...et entraine un message d'erreur lorsque l'on essaye
de le désactiver !! :-(

Thierry.


"Gilbert" a écrit dans le message de news:

Bonjour,
Ne peux-tu mettre le focus sur un contrôle du formulaire principal et non
du

sous-formulaire?

--
Gilbert


"News Groups" a écrit dans le message de news:
41668b40$0$296$
C'est bien dommage, je pensai à une méthode enlevant tout focus mais
apparemment il faut oublier ..!!? :-(

pour nota : " ..Mais la zone de texte recevant le focus peut très bien
être
mise en invisible..."
j'ai testé et le message d'erreur suivnat apparait :
"Erreur d'exécution '2110' :
Impossible d'activer le contrôle MonControl."

Je crois effectivement que l'option du focus sur un bouton de commande
type
"Fermer" est plus probable, à défaut..:-(.

Merci encore,
Thierry.


"Gafish" a écrit dans le message de news:

Bonjour,

Malheureusement je ne crois pas qu'il soit possible de faire autrement
que
de passer le focus ailleurs. Mais la zone de texte recevant le focus
peut



très bien être mise en invisible.
Sinon tu peut aussi mettre le focus sur un bouton, ainsi tu n'as pas à
créer

de zone de texte exprès.

Arnaud

"News Groups" a écrit dans le message news:
41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des
controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls
du




sous
formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus
sur




un
control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit
pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne
pas




devoir utiliser ce type de control ??

Merci encore de vos réponse.
















Avatar
Charles ERNST
Ne pouvez-vous pas tout simplement verrouiller vos contôles et les laisser
actifs ?
Le curseur restera dedans maiis on ne pourra opérer aucune modification !


"News Groups" a écrit dans le message de
news:41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce sous
formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de désactiver
un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur un
control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.




Avatar
News Groups
Si effectivement,
mais en fait ce que j'aurais souhaité, était de pouvoir m'affranchir
de l'utilisation d'un control pour satisfaire mon besoin,
car est il est dommage de devoir utiliser un objet graphique
tel qu'un control pour effectuer l'opération, d'autant qu'un cet objet
n'est créé que pour cela et que je ne peux utiliser les controls
ayant une fonction propre à mon application.

Malheureusement il me semble que je ne peux faire autrement !!

Merci encore,
Thierry.

"Charles ERNST" <charles.ernst(antispam)@micro-gestion.fr> a écrit dans le
message de news:
Ne pouvez-vous pas tout simplement verrouiller vos contôles et les laisser
actifs ?
Le curseur restera dedans maiis on ne pourra opérer aucune modification !


"News Groups" a écrit dans le message de
news:41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur
un


control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.








Avatar
Ilan
Bonjour,
Heu....place ton bouton dans le sous-formulaire. C'est alors lui
qui aurait le focus et tu pourras ainsi desactiver tous les autres controles.


Si effectivement,
mais en fait ce que j'aurais souhaité, était de pouvoir m'affranchir
de l'utilisation d'un control pour satisfaire mon besoin,
car est il est dommage de devoir utiliser un objet graphique
tel qu'un control pour effectuer l'opération, d'autant qu'un cet objet
n'est créé que pour cela et que je ne peux utiliser les controls
ayant une fonction propre à mon application.

Malheureusement il me semble que je ne peux faire autrement !!

Merci encore,
Thierry.

"Charles ERNST" <charles.ernst(antispam)@micro-gestion.fr> a écrit dans le
message de news:
Ne pouvez-vous pas tout simplement verrouiller vos contôles et les laisser
actifs ?
Le curseur restera dedans maiis on ne pourra opérer aucune modification !


"News Groups" a écrit dans le message de
news:41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des controls
du

sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls du
sous

formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus sur
un


control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit pas
pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne pas
devoir utiliser ce type de control ??

Merci encore de vos réponse.













Avatar
News Groups
Je vais adopter cela,
Merci.

"Ilan" a écrit dans le message de news:

Bonjour,
Heu....place ton bouton dans le sous-formulaire. C'est alors lui
qui aurait le focus et tu pourras ainsi desactiver tous les autres
controles.



Si effectivement,
mais en fait ce que j'aurais souhaité, était de pouvoir m'affranchir
de l'utilisation d'un control pour satisfaire mon besoin,
car est il est dommage de devoir utiliser un objet graphique
tel qu'un control pour effectuer l'opération, d'autant qu'un cet objet
n'est créé que pour cela et que je ne peux utiliser les controls
ayant une fonction propre à mon application.

Malheureusement il me semble que je ne peux faire autrement !!

Merci encore,
Thierry.

"Charles ERNST" <charles.ernst(antispam)@micro-gestion.fr> a écrit dans
le


message de news:
Ne pouvez-vous pas tout simplement verrouiller vos contôles et les
laisser



actifs ?
Le curseur restera dedans maiis on ne pourra opérer aucune
modification !





"News Groups" a écrit dans le message de
news:41666d48$0$301$
Bonjour,

Voici mon soucis:
Dans un formulaire principal j'ai un bouton qui désactive, par une
routine

associée, tout les controls
d'un sous formulaire inséré dans le formulaire principal.
Or étant donné que même si le focus ne se trouve pas sur un des
controls




du
sous formulaire
il reste toujours un control actif (ayant toujours le focus) dans ce
sous


formulaire.
Donc lors de l'execution de la routine désactivant tout les controls
du




sous
formulaire,
un message d'erreur apparait, me disant qu'il est impossible de
désactiver


un control actif.

Pour palier à cela, à la sortie du sous formulaire j'envoi le focus
sur




un
control (zone de texte - visible, activée et non verrouillée)
choisi du sous formulaire et je fais en sorte que ce control ne soit
pas




pris en compte dans ma routine :
"Moncontrol.Setfocus"

Dans ce cas tout fonctionne, mais cette méthode m'oblige à créer un
control

qui ne sert qu'a cette méthode
et qui n'a aucune fonction pour l'application proprement dite.

Quelqu'un peut-il me donner une autre méthode qui me permette de ne
pas




devoir utiliser ce type de control ??

Merci encore de vos réponse.