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.

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

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

Bonjour,

Merci pour vos réponses.

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

Cordialement.