Programmation et boîtes de dialogues

classic Classic list List threaded Threaded
4 messages Options
Didier Dorange-Pattoret Didier Dorange-Pattoret
Reply | Threaded
Open this post in threaded view
|

Programmation et boîtes de dialogues

Bonjour à tous,

Voici mon problème :
Une macro exécute une boite de dialogue (méthode .execute), depuis un
document Draw,
Dans la boîte de dialogue figure un bouton (CommandButton) qui lance une
autre macro dont le but est de récupérer la position d'un clic de souris
sur le document Draw.

Mais, je n'arrive pas depuis la boîte de dialogue (qui semble attachée
au document Draw) à mettre le focus ou rendre actif le document Draw
pour cliquer dessus.

Y a t'il une solution ?

Merci pour votre aide.


--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de @aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés

samyfox16 samyfox16
Reply | Threaded
Open this post in threaded view
|

Re: Programmation et boîtes de dialogues

Le 09/12/2014 07:43, Didier Dorange-Pattoret a écrit :

> Bonjour à tous,
>
> Voici mon problème :
> Une macro exécute une boite de dialogue (méthode .execute), depuis un document Draw,
> Dans la boîte de dialogue figure un bouton (CommandButton) qui lance une autre macro dont le but est de récupérer la
> position d'un clic de souris sur le document Draw.
>
> Mais, je n'arrive pas depuis la boîte de dialogue (qui semble attachée au document Draw) à mettre le focus ou rendre
> actif le document Draw pour cliquer dessus.
>
> Y a t'il une solution ?
>
> Merci pour votre aide.
>
>

Bonjour Didier,

à mon avis la macro qui te permet de détecter le clique ne devrait pas être lancée par la boite de dialogue qui est modale.

Tu devrait lancer cette macro dans le module du document Draw et c'est aussi depuis cet emplacement que tu afficherai et
récupèrerai les valeurs et les évènements de la boite de dialogue.

A ta place, je tenterai de faire même un seconde boite de dialogue réduite (comme celles qui nous permet dans les
assistants du tableur d'aller sélectionner les cellules) afin de mieux afficher le document Draw pendant la sélection.

NB : C'est un conseil assez général, il ne faut pas mettre de code de traitement là ou seul du code de contrôle de
validité de données de l'interface doit subsister.

Samuel

--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés

pierre-yves samyn pierre-yves samyn
Reply | Threaded
Open this post in threaded view
|

Re: Programmation et boîtes de dialogues

In reply to this post by Didier Dorange-Pattoret
Bonjour

Didier Dorange-Pattoret wrote
Une macro exécute une boite de dialogue (méthode .execute), depuis un
document Draw,
Dans la boîte de dialogue figure un bouton (CommandButton) qui lance une
autre macro dont le but est de récupérer la position d'un clic de souris
sur le document Draw.
Tu peux utiliser la méthode setVisible à la place execute comme dans
l'exemple joint.

DialogListener.odg

Cordialement
Pierre-Yves

Didier Dorange-Pattoret Didier Dorange-Pattoret
Reply | Threaded
Open this post in threaded view
|

Re: Programmation et boîtes de dialogues

Bonjour,

Merci pour vos réponses.

Je vais étudier vos propositions d'ici la fin du week-end.
Je vous tiendrai au courant.

Cordialement.


Le 09/12/2014 09:56, pierre-yves samyn a écrit :

> Bonjour
>
>
> Didier Dorange-Pattoret wrote
>> Une macro exécute une boite de dialogue (méthode .execute), depuis un
>> document Draw,
>> Dans la boîte de dialogue figure un bouton (CommandButton) qui lance une
>> autre macro dont le but est de récupérer la position d'un clic de souris
>> sur le document Draw.
> Tu peux utiliser la méthode setVisible à la place execute comme dans
> l'exemple joint.
>
> DialogListener.odg
> <http://nabble.documentfoundation.org/file/n4131966/DialogListener.odg>
>
> Cordialement
> Pierre-Yves
>

--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de @aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés