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 ?
@+
[Résolu] [Calc] Liste déroulante déroulée dans un dialogue
Modérateur : Vilains modOOs
Règles du forum
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 !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- PassiOOnné
- Messages : 653
- Inscription : 02 déc. 2009 09:43
[Résolu] [Calc] Liste déroulante déroulée dans un dialogue
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
AOO 4.1.15 - Windows 10 Pro
-
- ManitOOu
- Messages : 2791
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Afficher une liste déroulante déroulée
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 : 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.
Un morceau de code extrait du zip des macros de "La bible"
à 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+

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 : 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.
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
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)
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)
-
- ManitOOu
- Messages : 2562
- Inscription : 26 nov. 2005 13:42
Re: [Calc] Afficher une liste déroulante déroulée
Bonsoir,
Le principe a été exposé par le japonais hanya sur des forums anglais, que j'ai mis pas mal de temps à retrouver.
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)
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
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
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
-
- PassiOOnné
- Messages : 653
- Inscription : 02 déc. 2009 09:43
Re: [Calc] Afficher une liste déroulante déroulée
Bonsoir,
Merci OOotremer971 pour ta participation.
Grand merci bm92, tu es le roi.
A bientôt
Merci OOotremer971 pour ta participation.
Grand merci bm92, tu es le roi.

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