[..] Sélection dans un ComboBox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

[..] Sélection dans un ComboBox

#1

Message par GoAl »

Voilà je viens déjà poser une question.

Je suis dans un programme externe, j'aimerais sélectionner dans une liste déroulante "PDFCreator", le problème c'est qu'il y a une sorte d'image d'imprimante dans la liste déroulante même.
Mon code

Code : Tout sélectionner

ControlCommand($titrepage, "", "[CLASS:ComboBox; INSTANCE:1]", "SelectString", 'PDFCreator')
ne fonctionne donc pas.
Auriez-vous une idée de comment je pourrais faire pour sélectionner correctement ce que je veux ?
Je vous remercie d'avance.

Je vous montre une image de la fenêtre en question:

Image

Je précise que j'ai essayé de sélectionner une donnée dans le combobox du dessus et ça marche parfaitement.


Ainsi que les données obtenues dans AutoIt Window Info sur le combobox en question :
>>>> Window <<<<
Title: Imprimer plan mensuel
Class: TPlanPrint
Position: 597, 320
Size: 486, 370
Style: 0x16C80000
ExStyle: 0x00010100
Handle: 0x00090964

>>>> Control <<<<
Class: ComboBox
Instance: 1
ClassnameNN: ComboBox1
Name:
Advanced (Class): [CLASS:ComboBox; INSTANCE:1]
ID:
Text:
Position: 17, 200
Size: 424, 22
ControlClick Coords: 89, 14
Style: 0x56000413
ExStyle: 0x00000000
Handle: 0x000B0978

>>>> Mouse <<<<
Position: 706, 559
Cursor ID: 0
Color: 0xFFFFFF

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
Imprimer
1
?)
Intervalle libre
Standard
avril 2011
TWinControl_Spin
TWinControl1
TAdrockBtnControl
&Fermer
Im&primer
&Aperçu


>>>> Hidden Text <<<<
30.04.2011
01.04.2011
Options
Paramètres d'impression
A4
Paysage
Portrait
Mise en page
100
Marges aussi réduites que possible
Général
Paraphe du jour manque
Afficher le long nom des noeuds
Ne pas afficher le plan effectif
Plan de référence
Corrections manuelles
Niveaux d'interprétation
horaires planifiés
de la palette
Légende des horaires
Afficher les transferts (texte)
Afficher les marques (texte)
Afficher le titre des catégories
Déboguer
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#2

Message par Tlem »

Êtes-vous sur que la variable $titrepage contient bien le titre de la bonne fenêtre => "Imprimer plan mensuel" ?

Je viens de tester votre ligne de code sur mon PC et celle-ci fonctionne parfaitement si je donne le bon titre de fenêtre. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#3

Message par GoAl »

Oui je suis sûr, ce n'est pas ça le problème.

Comme je l'ai précisé, j'ai testé de sélectionner un choix dan le combobox du dessus avec le même code, juste en changeant la classe et le nom du texte à choisir, et ça fonctionne parfaitement.

Donc j'ai présumé que le problème venait du fait que dans le texte à sélectionner dans le 2ème combobox, il n'y a pas seulement "PDFCreator" mais "-image d'imprimante- PDFCreator".

Donc est-il possible de demander qu'il me sélectionne le texte qui contient "*n'importe quoi* PDFCreator", vu que je ne sais pas comment est appelée l'image d'imprimante.

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#4

Message par Tlem »

Comme je vous l'ai dit, j'ai aussi PDFCreator d'installé et si je test votre ligne à partir d'une impression de FireFox par exemple, cela fonctionne. :|
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#5

Message par GoAl »

http://www.autoitscript.com/autoit3/doc ... ommand.htm

Pour "FindString", c'est noté "Returns occurrence ref of the exact string in a ListBox or ComboBox", donc on demande l'exact string.

C'est pas précisé "exact string" pour "SelectString", mais si c'est aussi le cas c'est pour ça que ça ne marche pas vu que le string exact dans la liste est "*image d'imprimante* PDFCreator" et non pas que "PDFCreator". Dans Firefox, ça marche forcément, vu qu'il n'y a pas cette image d'imprimante. Ce n'est pas dans Firefox que je veux que ça marche, mais dans un logiciel particulier (Polypoint, un logiciel dans le secteur de la santé, pour info).

Maintenant ce que je veux savoir, c'est si on peut lui demander de sélectionner le champ qui finit par "PDFCreator" et non pas qui contient exactement ça. :|

Après je me trompe peut-être et le problème ne vient pas de là. Mais vu que ça marche parfaitement pour lecombobox du dessus, je ne vois pas pourquoi d'autre ça ne marcherait pas pour celui-là.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#6

Message par Tlem »

Et si au lieu de chercher à sélectionner directement, vous essayez de lui envoyer une séquence de touche ('PDF' par exemple ...) que ce passe t'il ?.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#7

Message par GoAl »

Ca ne marche pas non plus. :|
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#8

Message par Tlem »

A première vue, d'après les éléments que vous nous avez donné, le combo est un composant standard et donc à ce titre, si il a le focus et que vous tapez la première lettre d'une imprimante, le combo doit sélectionner la première occurrence d'imprimante commençant par cette lettre (idem si vous tapez deux ou trois lettres consécutives).

Si par cas cela ne fonctionne pas, alors c'est que le composant à été modifié et n'est pas standard et dans ce cas, il faudra user d'astuces.

En cas d'urgence, briser le spoiler :lol: :
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#9

Message par zeshrek »

ou autre astuce...
faire en sorte que le script stocke l'imprimante par défaut actuelle, mette pdf créator en imprimante par défaut, imprime, et remettre l'imprimante initiale en imprimante par défaut.
pas besoin de choisir l'imprimante, ca sera d'office la bonne...
C'est subtil et délicat comme un char Panzer, mais bon, quand y a plus ni grives ni merles, on mange des corbeaux...





A ce sujet, voivi une excélente recette pour cuisiner un corbeau :
Prendre un corbeau, le poser sur une brique et mettre le tout au four thermostat 10
Quand la brique est tendre, le corbeau l'est aussi
:mrgreen:
Si vis pacem para bellum
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#10

Message par GoAl »

Bonjour et merci d'essayer de m'aider :)

Mais en fait l'imprimante sélectionnée par défaut dans le combobox est la dernière utilisée, donc j'ai pu poursuivre mon script sans avoir besoin de sélectionner l'imprimante sans que ça pose problème. Par contre si quelqu'un s'amuse à changer l'imprimante avant de lancer le script, ce serait un peu plus problématique. C'est pour ça que je voulais la sélectionner pour être sûr que ça n'arrive pas.
Tlem a écrit :Si le composant n'a pas de fonctionnement normal, alors comme astuce, voici une solution qui en vaut une autre :
Lister le nombres d'imprimantes disponibles et regardez à quelle position ce trouve votre imprimante PDF. Ensuite activez le composant combo et descendez du nombre d'éléments nécessaires.
Pas terrible comme solution, mais faute de grives, on mange des merles ... :mrgreen:
En fait ça doit vraiment pas être un combobox standard. Même même la sélection par flèche ne marche pas ! :shock:
Je viens d'essayer manuellement de me déplacer dans la liste déroulante, mais ça se déplace dans la fenêtre en-dessous !
zeshrek a écrit :ou autre astuce...
faire en sorte que le script stocke l'imprimante par défaut actuelle, mette pdf créator en imprimante par défaut, imprime, et remettre l'imprimante initiale en imprimante par défaut.
pas besoin de choisir l'imprimante, ca sera d'office la bonne...
En fait comme dit plus haut le programme ne tient pas en compte l'imprimante par défaut, mais la dernière utilisée. Donc même ça, ça ne marcherait pas. Il est à noter qu'une option dans le logiciel permet de choisir une imprimante par défaut, mais ici c'est pas pris en compte non plus :roll: .

Une autre solution serait de faire un clique sur la barre déroulante, puis de prendre les coordonnées du clique dans la liste déroulée. Le problème avec cette solution, c'est que si une imprimante est ajoutée, ça va pas sélectionner la bonne.

Je vais laisser comme ça pour l'instant, en espérant que personne ne s'amuse à sélectionner une autre imprimante, et en attendant, peut-être, une solution :p
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#11

Message par ZDS »

Hello.

Je ne fais pas vraiment avancer le schmilblick, mais ça fonctionne chez moi (aucun souci avec ou sans icone dans la combobox). Je regarde de plus près ce soir pour essayer de t'aider.

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#12

Message par Tlem »

Il semble que la solution graphique pose problème dans ce cas précis, alors passons autrement !!!

Vous dites que c'est la dernière imprimante qui est utilisée, donc obligatoirement, cette information doit être stockée quelque part dans un fichier .ini ou dans une clé de la base de registre, donc il vous suffit de modifier cette donnée pour être sur du bon choix. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
GoAl
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 28 avr. 2011 10:11
Status : Hors ligne

Re: [..] Sélection dans un ComboBox

#13

Message par GoAl »

zeshrek a écrit :ou autre astuce...
faire en sorte que le script stocke l'imprimante par défaut actuelle, mette pdf créator en imprimante par défaut, imprime, et remettre l'imprimante initiale en imprimante par défaut.
pas besoin de choisir l'imprimante, ca sera d'office la bonne...
Bonjour, auriez-vous un script pour changer l'imprimante par défaut ? Ca me serait utile.. Merci :)
Edit : Non c'est bon merci j'ai trouvé :)

J'ai un fichier batch qui contient :
rundll32 printui.dll,PrintUIEntry /y /n %1
et l'appelle avec :
$printer = "Nom de l'imprimante"
RunWait("setdefaultprinter.bat " & $printer)
Mais si vous avez d'autres solutions, elles sont les bienvenues !
Répondre