[Résolu] [Calc] Liste déroulante déroulée dans un dialogue

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

[Résolu] [Calc] Liste déroulante déroulée dans un dialogue

Message par TheHache »

Bonjour,

Est-il possible d'afficher, dans un dialogue, une liste déroulante déroulée après l'avoir initialiser ?

Je ne trouve pas a propriété dans Avec Xray, peut-être n’existe-t-elle pas !

Ci joint un fichier pour illustrer mon propos.

A l'issue du choix d'un des boutons option, la liste déroulante s'initialise avec les valeurs respectives. Je voudrais, après l'initialisation, que la liste se déroule toute seule sans avoir à cliquer sur la petite flèche.

Une idée ?

@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par TheHache le 13 avr. 2015 19:17, modifié 1 fois.
LibO 24.8.0.3 - Windows 10 Pro
AOO 4.1.15 - Windows 10 Pro
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2791
Inscription : 16 avr. 2010 13:31

Re: [Calc] Afficher une liste déroulante déroulée

Message par OOotremer971 »

Bonjour à tous :)

Je doute fort que ma réponse satisfasse exactement ta demande car je crois comprendre que tu souhaites que la liste se déroule toute seule. Ma proposition consiste à définir la propriété "Déroulante" du contrôle à "Non" et de lui donner une hauteur fixe comme sur la capture d'écran qui suit :
TheHache.png
mais en cherchant un peu comment activer le déroulage de la liste, j'ai trouvé qu'avec la méthode "setPosSize" du dialogue il était possible de définir la position mais aussi la hauteur.

Code : Tout sélectionner

X = Long = Position horizontale du coin haut-gauche.
Y = Long = Position verticale du coin haut-gauche.
Width = Long = Largeur.
Height = Long = Hauteur.
Un morceau de code extrait du zip des macros de "La bible"

Code : Tout sélectionner

Option Explicit
Sub positionnerDialogue()
Dim dlg As Object, X As Long, Y As Long, p As Object
dlg = CreerDialogue("DialDial", "Dialog1")
Do While dlg.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK
X = dlg.getControl("Position X").Value
Y = dlg.getControl("Position Y").Value
dlg.setPosSize(X, Y, 0, 0, com.sun.star.awt.PosSize.POS)
Loop
dlg.dispose
End Sub
à partir de là si tu définis la valeur de "Height" en fonction du nombre de ligne de ta liste, tu auras l'impression que la liste se déroule seule à la bonne hauteur.

Là j'ai pas le temps développer mais l'idée est là.

A+
 Ajout : La macro en question est : Code11-04.odt bibli : DialDial Module1 et les pages du bouquin concernées sont à partir de la 646ème 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: [Calc] Afficher une liste déroulante déroulée

Message par bm92 »

Bonsoir,
Le principe a été exposé par le japonais hanya sur des forums anglais, que j'ai mis pas mal de temps à retrouver.

Code : Tout sélectionner

Liste.AccessibleContext.doAccessibleAction(0) ' basculer le déroulage de la liste
Pour fouiner un peu :
interface XAccessibleAction
[Résolu][Basic] Double clic sur liste + simuler clic sur OK (le forum cité http://www.oooforum.org est mort)
How to "click" on a FileControl element?
[Issue] getAccessibleContext().doAccessibleAction(0) (l'Issue en question est résolue sur AOO 4.1.1)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

Re: [Calc] Afficher une liste déroulante déroulée

Message par TheHache »

Bonsoir,

Merci OOotremer971 pour ta participation.

Grand merci bm92, tu es le roi. :bravo:

A bientôt
LibO 24.8.0.3 - Windows 10 Pro
AOO 4.1.15 - Windows 10 Pro